The Change Facet

The Interface org.favabeans.base.ChangeChange Interface org.favabeans.base.FacetFacet of an object (Figure 4.3) publishes the Bean event set javax.swing.event.changechange Bean event set and fires an event whenever the primary object has changed in a manner that will affect observers.

Figure 4.3. The Interface org.favabeans.base.ChangeChange Interface org.favabeans.base.FacetFacet.

Other objects (including other Interface org.favabeans.base.FacetFacets of the primary object) may utilize the Interface org.favabeans.base.ChangeChange Interface org.favabeans.base.FacetFacet as a way to isolate themselves from the details whereby an object indicates a state change.

The Interface org.favabeans.base.ChangeChange interface is designed to accommodate -- and shield other components from the distinctions between -- cases where the primary object informs clients of changes to itself and cases where the end-user must manually trigger an "update" of all views. The Bean property org.favabeans.base.Change.automaticallyUpdatingChange.automaticallyUpdating property indicates whether the associated Interface org.favabeans.base.ChangeChange Interface org.favabeans.base.FacetFacet is listening for events from its primary object. If this property is true, then calls to its Method org.favabeans.base.Change.fireChange()Change.fireChange() method should be no-ops. However, if this property is false, each call to Method org.favabeans.base.Change.fireChange()Change.fireChange() will force the broadcast of a Class javax.swing.event.ChangeEventChangeEvent.