The Properties Facet

The Interface org.favabeans.base.PropertiesProperties of an object (Figure 4.1) provides the basic functionality to display the primary object in the UI.

Figure 4.1. The Interface org.favabeans.base.PropertiesProperties Interface org.favabeans.base.FacetFacet.

Parts of Interface org.favabeans.base.PropertiesProperties are very similar in purpose -- and, therefore, deliberatey similar in syntax -- to a Class java.beans.FeatureDescriptorFeatureDescriptor. Specifically the "standard properties" are the information obtained by methods such as Bean property org.favabeans.base.Properties.displayNameProperties.displayName and Bean property org.favabeans.base.Properties.smallIconProperties.smallIcon is intended for UI elements to be able to display a minimal iconic representation of the primary object.

The standard properties are also obtainable as full-fledged Interface org.favabeans.base.PropertyProperty objects. A Interface org.favabeans.base.PropertyProperty is a Interface Feature that encapsulates some sort of information about its target. Methods to obtain these are, for example, Bean property org.favabeans.base.Properties.displayNamePropertyProperties.displayNameProperty and Bean property org.favabeans.base.Properties.smallIconPropertyProperties.smallIconProperty.

Finally, zero or more additional Interface org.favabeans.base.PropertyProperty objects, built depending on the application at hand, are available via the Bean property org.favabeans.base.Properties.additionalPropertiesProperties.additionalProperties method.

Important

The number of additional properties is allowed to change at run-time; views that depend on this fact are expected to listen for Bean event set java.beans.propertyChangepropertyChange events, with a key of additionalProperties, from the Interface org.favabeans.base.PropertiesProperties object they are using.