In addition to registering custom renderers (as explained in the preceding section), you also must register the custom components that are usually associated with the custom renderers. You use either a
@FacesComponent annotation, as described in Creating Custom Component Classes, or the
component element of the application configuration resource file.
<component> <component-type>DemoArea</component-type> <component-class> dukesbookstore.components.AreaComponent </component-class> <property> <property-name>alt</property-name> <property-class>java.lang.String</property-class> </property> <property> <property-name>coords</property-name> <property-class>java.lang.String</property-class> </property> <property> <property-name>shape</property-name> <property-class>java.lang.String</property-class> </property> </component>
Attributes specified in a
component tag override any settings in the
component-type element indicates the name under which the component should be registered. Other objects referring to this component use this name. For example, the
component-type element in the configuration for
AreaComponent defines a value of
DemoArea, which matches the value returned by the
component-class element indicates the fully qualified class name of the component. The
property elements specify the component properties and their types.
If the custom component can include facets, you can configure the facets in the component configuration using
facet elements, which are allowed after the
component-class elements. See Registering a Custom Renderer with a Render Kit for further details on configuring facets.