Top Description Fields Constructors Methods
javax.faces.render

public abstract Class Renderer

extends Object
Class Inheritance
Known Direct Subclasses
javax.faces.render.RendererWrapper, com.sun.faces.ext.render.FocusHTMLRenderer, com.sun.faces.facelets.component.RepeatRenderer, com.sun.faces.renderkit.html_basic.CompositeFacetRenderer, com.sun.faces.renderkit.html_basic.CompositeRenderer, com.sun.faces.renderkit.html_basic.DoctypeRenderer, com.sun.faces.renderkit.html_basic.HeadRenderer, com.sun.faces.renderkit.html_basic.HtmlBasicRenderer, com.sun.faces.renderkit.html_basic.ScriptStyleBaseRenderer
Imports
java.io.IOException, java.util.Iterator, javax.faces.component.UIComponent, javax.faces.context.FacesContext, javax.faces.convert.ConverterException

A Renderer converts the internal representation of UIComponents into the output stream (or writer) associated with the response we are creating for a particular request. Each Renderer knows how to render one or more UIComponent types (or classes), and advertises a set of render-dependent attributes that it recognizes for each supported UIComponent.

Families of Renderers are packaged as a RenderKit, and together support the rendering of all of the UIComponents in a view associated with a FacesContext. Within the set of Renderers for a particular RenderKit, each must be uniquely identified by the rendererType property.

Individual Renderer instances will be instantiated as requested during the rendering process, and will remain in existence for the remainder of the lifetime of a web application. Because each instance may be invoked from more than one request processing thread simultaneously, they MUST be programmed in a thread-safe manner.

If the javax.faces.event.ListenerFor annotation is attached to the class definition of a Renderer, that class must also implement javax.faces.event.ComponentSystemEventListener, and the action pertaining to the processing of ResourceDependency on a Renderer described in javax.faces.event.ListenerFor must be taken.

If the javax.faces.application.ResourceDependency annotation is attached to the class definition of a Renderer, the action pertaining to the processing of ResourceDependency on a Renderer described in UIComponent#getChildren must be taken.

Field Summary

Modifier and TypeField and Description
public static final String
PASSTHROUGH_RENDERER_LOCALNAME_KEY

The key in the component passthrough attributes Map for the localName of the element corresponding to the component.

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public String

Returns:

the converted clientId
convertClientId
(FacesContext
FacesContext for the current request
context
,
String
the client identifier to be converted to client a specific format.
clientId
)

Convert the component generated client id to a form suitable for transmission to the client.

public void
decode(FacesContext
FacesContext for the request we are processing
context
,
UIComponent
UIComponent to be decoded.
component
)

Decode any new state of the specified UIComponent from the request contained in the specified FacesContext, and store that state on the UIComponent.

public void
encodeBegin(FacesContext
FacesContext for the request we are processing
context
,
UIComponent
UIComponent to be rendered
component
)

Render the beginning specified UIComponent to the output stream or writer associated with the response we are creating.

public void
encodeChildren(FacesContext
FacesContext for the response we are creating
context
,
UIComponent
UIComponent whose children are to be rendered
component
)

Render the child components of this UIComponent, following the rules described for encodeBegin() to acquire the appropriate value to be rendered.

public void
encodeEnd(FacesContext
FacesContext for the response we are creating
context
,
UIComponent
UIComponent to be rendered
component
)

Render the ending of the current state of the specified UIComponent, following the rules described for encodeBegin() to acquire the appropriate value to be rendered.

public Object

Returns:

the converted value
getConvertedValue
(FacesContext
FacesContext for the request we are processing
context
,
UIComponent
UIComponent to be decoded.
component
,
Object
a value stored on the component during decode.
submittedValue
)

Attempt to convert previously stored state information into an object of the type required for this component (optionally using the registered javax.faces.convert.Converter for this component, if there is one).

public boolean

Returns:

the current value of the flag
getRendersChildren
()

Return a flag indicating whether this Renderer is responsible for rendering the children the component it is asked to render.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

PASSTHROUGH_RENDERER_LOCALNAME_KEYback to summary
public static final String PASSTHROUGH_RENDERER_LOCALNAME_KEY

The key in the component passthrough attributes Map for the localName of the element corresponding to the component.

Since
2.2

Constructor Detail

Rendererback to summary
public Renderer()

Method Detail

convertClientIdback to summary
public String convertClientId(FacesContext context, String clientId)

Convert the component generated client id to a form suitable for transmission to the client.

The default implementation returns the argument clientId unchanged.

Parameters
context:FacesContext

FacesContext for the current request

clientId:String

the client identifier to be converted to client a specific format.

Returns:String

the converted clientId

Exceptions
NullPointerException:
if context or clientId is null
decodeback to summary
public void decode(FacesContext context, UIComponent component)

Decode any new state of the specified UIComponent from the request contained in the specified FacesContext, and store that state on the UIComponent.

During decoding, events may be enqueued for later processing (by event listeners that have registered an interest), by calling queueEvent() on the associated UIComponent.

Parameters
context:FacesContext

FacesContext for the request we are processing

component:UIComponent

UIComponent to be decoded.

Exceptions
NullPointerException:
if context or component is null
encodeBeginback to summary
public void encodeBegin(FacesContext context, UIComponent component) throws IOException

Render the beginning specified UIComponent to the output stream or writer associated with the response we are creating. If the conversion attempted in a previous call to getConvertedValue() for this component failed, the state information saved during execution of decode() should be used to reproduce the incorrect input.

Parameters
context:FacesContext

FacesContext for the request we are processing

component:UIComponent

UIComponent to be rendered

Exceptions
IOException:
if an input/output error occurs while rendering
NullPointerException:
if context or component is null
encodeChildrenback to summary
public void encodeChildren(FacesContext context, UIComponent component) throws IOException

Render the child components of this UIComponent, following the rules described for encodeBegin() to acquire the appropriate value to be rendered. This method will only be called if the rendersChildren property of this component is true.

Parameters
context:FacesContext

FacesContext for the response we are creating

component:UIComponent

UIComponent whose children are to be rendered

Exceptions
IOException:
if an input/output error occurs while rendering
NullPointerException:
if context or component is null
encodeEndback to summary
public void encodeEnd(FacesContext context, UIComponent component) throws IOException

Render the ending of the current state of the specified UIComponent, following the rules described for encodeBegin() to acquire the appropriate value to be rendered.

Parameters
context:FacesContext

FacesContext for the response we are creating

component:UIComponent

UIComponent to be rendered

Exceptions
IOException:
if an input/output error occurs while rendering
NullPointerException:
if context or component is null
getConvertedValueback to summary
public Object getConvertedValue(FacesContext context, UIComponent component, Object submittedValue) throws ConverterException

Attempt to convert previously stored state information into an object of the type required for this component (optionally using the registered javax.faces.convert.Converter for this component, if there is one). If conversion is successful, the new value should be returned from this method; if not, a ConverterException should be thrown.

Parameters
context:FacesContext

FacesContext for the request we are processing

component:UIComponent

UIComponent to be decoded.

submittedValue:Object

a value stored on the component during decode.

Returns:Object

the converted value

Exceptions
ConverterException:
if the submitted value cannot be converted successfully.
NullPointerException:
if context or component is null
getRendersChildrenback to summary
public boolean getRendersChildren()

Return a flag indicating whether this Renderer is responsible for rendering the children the component it is asked to render. The default implementation returns false.

Returns:boolean

the current value of the flag