javax.faces.render

## Class RendererWrapper

- java.lang.Object
- - javax.faces.render.Renderer
  - - javax.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 existing `Renderer` instance. The default implementation of all methods is to call through to the wrapped `Renderer` instance.

  Usage: extend this class and override `getWrapped()` to return the instance being wrapping.

  Since:
    2.2

- - ### Field Summary

    - ### Fields inherited from class javax.faces.render.Renderer

      `PASSTHROUGH_RENDERER_LOCALNAME_KEY`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RendererWrapper()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and 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 specified `UIComponent` from the request contained in the specified `FacesContext`, and store that state on the `UIComponent`.
    `void` | `encodeBegin(FacesContext context, UIComponent component)` Render the beginning specified `UIComponent` to the output stream or writer associated with the response we are creating.
    `void` | `encodeChildren(FacesContext context, UIComponent component)` Render the child components of this `UIComponent`, following the rules described for `encodeBegin()` to acquire the appropriate value to be rendered.
    `void` | `encodeEnd(FacesContext context, UIComponent 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.
    `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 registered `Converter` for this component, if there is one).
    `boolean` | `getRendersChildren()` Return a flag indicating whether this `Renderer` is responsible for rendering the children the component it is asked to render.
    `abstract Renderer` | `getWrapped()` A class that implements this interface uses this method to return an instance of the class being wrapped.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### RendererWrapper

          public RendererWrapper()

  - ### Method Detail

    - #### getWrapped

          public abstract 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 interface `FacesWrapper<Renderer>`
      Returns:
        the instance we are wrapping

    - #### 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 class `Renderer`
      Parameters:
        `context` - `FacesContext` for the current request
        `clientId` - the client identifier to be converted to client a specific format.

    - #### 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, a `ConverterException` should be thrown.

      Overrides:
        `getConvertedValue` in class `Renderer`
      Parameters:
        `context` - `FacesContext` for the request we are processing
        `component` - `UIComponent` to be decoded.
        `submittedValue` - a value stored on the component during `decode`.
      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 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`.

      Overrides:
        `decode` in class `Renderer`
      Parameters:
        `context` - `FacesContext` for the request we are processing
        `component` - `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 to `getConvertedValue()` for this component failed, the state information saved during execution of `decode()` should be used to reproduce the incorrect input.

      Overrides:
        `encodeBegin` in class `Renderer`
      Parameters:
        `context` - `FacesContext` for the request we are processing
        `component` - `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 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`.

      Overrides:
        `encodeChildren` in class `Renderer`
      Parameters:
        `context` - `FacesContext` for the response we are creating
        `component` - `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 for `encodeBegin()` to acquire the appropriate value to be rendered.

      Overrides:
        `encodeEnd` in class `Renderer`
      Parameters:
        `context` - `FacesContext` for the response we are creating
        `component` - `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 returns `false`.

      Overrides:
        `getRendersChildren` in class `Renderer`

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.