public interface ComponentType
This interface marks a class as a component. Implementing this interface is
an alternative to deriving from
Component (usually because
there is some other preferential inheritance relationship).
Components that implement this interface (but don’t inherit from
Component) aren’t inserted as vertices into the component tree;
rather, they are represented in the tree by a proxy.
Classes that implement
ComponentType aren’t required to
implement specific methods. They must, however, declare a field
for a component manager. This field must be of type
Manager and annotated as
The implementation of the component type can use the value in this
field to get access to the component hierarchy. The field is initialized
when the component type is added to the component hierarchy or when
The channel associated with an instance of
can be specified as attribute of the
annotation. If no channel is specified, the proxy is used as
Channel.SELF). The default can be overridden
on a per instance basis by calling
Components.manager(ComponentType, Channel) before the component
is added to the tree.