Type objects are the
analogue of Java classes and behave similarly to
Class objects. FavaBeans provides class
TypeMetadataRegistry for
binding arbitrary information to instances of a
Type.
Facets are an
alternative representation of another object, which we refer to as the
primary object of the
Facet. FavaBeans provides
class
FacetRegistry
whereby
Facets can be
constructed for a primary object based on the
Types of the primary object and
the desired
Facet. The
work of actually constructing a
Facet is delegated to a
FacetFactory.