Class RendererWrapper
- java.lang.Object
-
- jakarta.faces.render.Renderer
-
- jakarta.faces.render.RendererWrapper
-
- All Implemented Interfaces:
FacesWrapper<Renderer>
public abstract class RendererWrapper extends Renderer implements FacesWrapper<Renderer>
Provides a simple implementation of
Renderer
that can be subclassed by developers wishing to provide specialized behavior to an existingRenderer
instance. The default implementation of all methods is to call through to the wrappedRenderer
instance.Usage: extend this class and push the implementation being wrapped to the constructor and use
getWrapped()
to access the instance being wrapped.- Since:
- 2.2
-
-
Field Summary
-
Fields inherited from class jakarta.faces.render.Renderer
PASSTHROUGH_RENDERER_LOCALNAME_KEY
-
-
Constructor Summary
Constructors Constructor Description RendererWrapper()
Deprecated.Use the other constructor taking the implementation being wrapped.RendererWrapper(Renderer wrapped)
If this renderer has been decorated, the implementation doing the decorating should push the implementation being wrapped to this constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
convertClientId(FacesContext context, String clientId)
Convert the component generated client id to a form suitable for transmission to the client.void
decode(FacesContext context, UIComponent component)
Decode any new state of the specifiedUIComponent
from the request contained in the specifiedFacesContext
, and store that state on theUIComponent
.void
encodeBegin(FacesContext context, UIComponent component)
Render the beginning specifiedUIComponent
to the output stream or writer associated with the response we are creating.void
encodeChildren(FacesContext context, UIComponent component)
Render the child components of thisUIComponent
, following the rules described forencodeBegin()
to acquire the appropriate value to be rendered.void
encodeEnd(FacesContext context, UIComponent component)
Render the ending of the current state of the specifiedUIComponent
, following the rules described forencodeBegin()
to acquire the appropriate value to be rendered.Object
getConvertedValue(FacesContext context, UIComponent component, Object submittedValue)
Attempt to convert previously stored state information into an object of the type required for this component (optionally using the registeredConverter
for this component, if there is one).boolean
getRendersChildren()
Return a flag indicating whether thisRenderer
is responsible for rendering the children the component it is asked to render.Renderer
getWrapped()
A class that implements this interface uses this method to return an instance of the class being wrapped.
-
-
-
Constructor Detail
-
RendererWrapper
@Deprecated public RendererWrapper()
Deprecated.Use the other constructor taking the implementation being wrapped.
-
RendererWrapper
public RendererWrapper(Renderer wrapped)
If this renderer has been decorated, the implementation doing the decorating should push the implementation being wrapped to this constructor. The
getWrapped()
will then return the implementation being wrapped.- Parameters:
wrapped
- The implementation being wrapped.- Since:
- 2.3
-
-
Method Detail
-
getWrapped
public Renderer getWrapped()
Description copied from interface:FacesWrapper
A class that implements this interface uses this method to return an instance of the class being wrapped.
- Specified by:
getWrapped
in interfaceFacesWrapper<Renderer>
- Returns:
- the wrapped instance.
-
convertClientId
public String convertClientId(FacesContext context, String clientId)
Description copied from class:Renderer
Convert the component generated client id to a form suitable for transmission to the client.
The default implementation returns the argument
clientId
unchanged.- Overrides:
convertClientId
in classRenderer
- Parameters:
context
-FacesContext
for the current requestclientId
- the client identifier to be converted to client a specific format.- Returns:
- the converted
clientId
-
getConvertedValue
public Object getConvertedValue(FacesContext context, UIComponent component, Object submittedValue) throws ConverterException
Description copied from class:Renderer
Attempt to convert previously stored state information into an object of the type required for this component (optionally using the registered
Converter
for this component, if there is one). If conversion is successful, the new value should be returned from this method; if not, aConverterException
should be thrown.- Overrides:
getConvertedValue
in classRenderer
- Parameters:
context
-FacesContext
for the request we are processingcomponent
-UIComponent
to be decoded.submittedValue
- a value stored on the component duringdecode
.- Returns:
- the converted value
- Throws:
ConverterException
- if the submitted value cannot be converted successfully.
-
decode
public void decode(FacesContext context, UIComponent component)
Description copied from class:Renderer
Decode any new state of the specified
UIComponent
from the request contained in the specifiedFacesContext
, and store that state on theUIComponent
.During decoding, events may be enqueued for later processing (by event listeners that have registered an interest), by calling
queueEvent()
on the associatedUIComponent
.- Overrides:
decode
in classRenderer
- Parameters:
context
-FacesContext
for the request we are processingcomponent
-UIComponent
to be decoded.
-
encodeBegin
public void encodeBegin(FacesContext context, UIComponent component) throws IOException
Description copied from class:Renderer
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 togetConvertedValue()
for this component failed, the state information saved during execution ofdecode()
should be used to reproduce the incorrect input.- Overrides:
encodeBegin
in classRenderer
- Parameters:
context
-FacesContext
for the request we are processingcomponent
-UIComponent
to be rendered- Throws:
IOException
- if an input/output error occurs while rendering
-
encodeChildren
public void encodeChildren(FacesContext context, UIComponent component) throws IOException
Description copied from class:Renderer
Render the child components of this
UIComponent
, following the rules described forencodeBegin()
to acquire the appropriate value to be rendered. This method will only be called if therendersChildren
property of this component istrue
.- Overrides:
encodeChildren
in classRenderer
- Parameters:
context
-FacesContext
for the response we are creatingcomponent
-UIComponent
whose children are to be rendered- Throws:
IOException
- if an input/output error occurs while rendering
-
encodeEnd
public void encodeEnd(FacesContext context, UIComponent component) throws IOException
Description copied from class:Renderer
Render the ending of the current state of the specified
UIComponent
, following the rules described forencodeBegin()
to acquire the appropriate value to be rendered.- Overrides:
encodeEnd
in classRenderer
- Parameters:
context
-FacesContext
for the response we are creatingcomponent
-UIComponent
to be rendered- Throws:
IOException
- if an input/output error occurs while rendering
-
getRendersChildren
public boolean getRendersChildren()
Description copied from class:Renderer
Return a flag indicating whether this
Renderer
is responsible for rendering the children the component it is asked to render. The default implementation returnsfalse
.- Overrides:
getRendersChildren
in classRenderer
- Returns:
- the current value of the flag
-
-