Package com.sun.rave.web.ui.renderer.template

This package provides a strategy for rendering complex components.

See:
          Description

Class Summary
LayoutDefinitionManager This abstract class provides the base functionality for all LayoutDefinitionManager implementations.
TemplateRenderer This renderer is a generic "template-based" renderer.
 

Package com.sun.rave.web.ui.renderer.template Description

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

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

Different types of LayoutElement objects are used to effect the output. LayoutElement are delegated the encode responsibilty so that they may determine whether and how their child components are encoded. See the LayoutElement documentation and the implementing classes of LayoutElement for more information.