The interaction of UI elements with domain
objects in FavaBeans is mediated by a variety of
Facet objects. These are,
briefly:
Change. A
uniform way to be notified of changes to the state of the primary
object.
Actions.
Commands the end-user may execute, usually shown on a toolbar or
menu.
Properties
and
Property. Information,
often editable, about the primary object; usually shown in a property
sheet, and used to display the object as an icon.
Prototype.
Behavior that allows an end-user to create a clone of the primary
object.
DnTargetContainer
and
DnDTarget. Behavior
used to implement responses to DND
operations.
Folder and
Column. Representation of
the primary object as a collection, and columns of information
permitting a tabular view of the items in the
collection.
ViewPrototypes.
Presents a list of
View
objects which can be cloned (via their
Prototype
Facets) to construct new
views on the original primary object.
A newly constructed
FacetRegistry contains convenient
default
FacetFactory
objects for the following
Facets:
Change;
Actions;
Properties;
Prototype;
DnDTargetContainer;
Folder; and
ViewPrototypes.