All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.sun.jsftemplating.renderer.package.html Maven / Gradle / Ivy


    

This package provides a strategy for rendering complex components. A complex component is any component that consists of multiple sub-components. The {@link com.sun.jsftemplating.renderer.TemplateRenderer} is the actual Renderer class, the other files in this package provide support for creating and holding the LayoutDefinition information. While {@link com.sun.jsftemplating.renderer.TemplateRenderer} could also render a simple component, the flexibility and extensibility capabilities are probably overkill for small components.

The {@link com.sun.jsftemplating.renderer.TemplateRenderer} is driven off a "template". The template is actually a tree data structure consisting of "{@link com.sun.jsftemplating.layout.descriptors.LayoutElement}" objects. This structure is walked in order to render the component. This data structure may be populated programatically, however, a {@link com.sun.jsftemplating.layout.LayoutDefinitionManager} is the recommended way to obtain the structure. A {@link com.sun.jsftemplating.layout.LayoutDefinitionManager} is responsible for locating a {@link com.sun.jsftemplating.layout.descriptors.LayoutDefinition} for a particular component (such as a table component). How this is done is left to implementations of {@link com.sun.jsftemplating.layout.LayoutDefinitionManager}. One implementation currently exists which populates the {@link com.sun.jsftemplating.layout.descriptors.LayoutElement} tree from an XML file: {@link com.sun.jsftemplating.layout.xml.XMLLayoutDefinitionManager}.

Different types of {@link com.sun.jsftemplating.layout.descriptors.LayoutElement} objects are used to effect the output. {@link com.sun.jsftemplating.layout.descriptors.LayoutElement} are delegated the encode responsibilty so that they may determine whether and how their child components are encoded. See the {@link com.sun.jsftemplating.layout.descriptors.LayoutElement} documentation and the implementing classes of {@link com.sun.jsftemplating.layout.descriptors.LayoutElement} for more information.





© 2015 - 2025 Weber Informatics LLC | Privacy Policy