"In JavaBeans, constrained property setter methods are required to support the PropertyVetoException. This documents to the users of the constrained property that attempted updates may be vetoed." (C) JavaBeans specification, section 7.4.2
So it is not necessary to add some modifiers to annotate the property as constrained.
Current implementation assumes that every property of the bean is bound if the bean has the propertyChange event set:
public void addPropertyChangeListener(PropertyChangeListener listener);
public void removePropertyChangeListener(PropertyChangeListener listener);
It is not really true. Some properties can be non-bound. I suggest to introduce the @Bound annotation to annotate bound properties.