A Renderer converts
the internal representation of UIComponent s 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 Renderer s are packaged as a RenderKit ,
and together support the rendering of all of the UIComponent s
in a view associated with a FacesContext . Within the set of
Renderer s for a particular RenderKit , each must be
uniquely identified by the
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
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
in UIComponent#getChildren must be taken.
|Method from javax.faces.render.Renderer Summary:|
|convertClientId, decode, encodeBegin, encodeChildren, encodeEnd, getConvertedValue, getRendersChildren|
|Methods from java.lang.Object:|
|clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait|
|Method from javax.faces.render.Renderer Detail:|
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
public void decode(FacesContext context, UIComponent component)
During decoding, events may be enqueued for later processing
(by event listeners that have registered an interest), by calling
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
public void encodeChildren(FacesContext context, UIComponent component) throws IOException
Render the child components of this UIComponent , following
the rules described for
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
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.
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