Class ScriptStyleBaseRenderer

java.lang.Object
jakarta.faces.render.Renderer
com.sun.faces.renderkit.html_basic.ScriptStyleBaseRenderer
All Implemented Interfaces:
ComponentSystemEventListener, FacesListener, EventListener
Direct Known Subclasses:
ScriptRenderer, StylesheetRenderer

public abstract class ScriptStyleBaseRenderer extends Renderer implements ComponentSystemEventListener

Base class for shared behavior between Script and Stylesheet renderers. Maybe composition would be better, but inheritance is easier

  • Field Details

    • logger

      protected static final Logger logger
  • Constructor Details

    • ScriptStyleBaseRenderer

      public ScriptStyleBaseRenderer()
  • Method Details

    • processEvent

      public void processEvent(ComponentSystemEvent event) throws AbortProcessingException
      Description copied from interface: ComponentSystemEventListener

      When called, the listener can assume that any guarantees given in the javadoc for the specific SystemEvent subclass are true.

      Specified by:
      processEvent in interface ComponentSystemEventListener
      Parameters:
      event - the ComponentSystemEvent instance that is being processed.
      Throws:
      AbortProcessingException - if lifecycle processing should cease for this request.
    • decode

      public final 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.
    • getRendersChildren

      public final 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
      Returns:
      the current value of the flag
    • 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 final 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
    • startInlineElement

      protected abstract void startInlineElement(FacesContext context, ResponseWriter writer, UIComponent component) throws IOException

      Allow the subclass to customize the start inline element content.

      Throws:
      IOException
    • endInlineElement

      protected abstract void endInlineElement(ResponseWriter writer, UIComponent component) throws IOException

      Allow the subclass to customize the end inline element content.

      Throws:
      IOException
    • startExternalElement

      protected abstract void startExternalElement(FacesContext context, ResponseWriter writer, UIComponent component) throws IOException

      Allow the subclass to customize the start external element content.

      Throws:
      IOException
    • endExternalElement

      protected abstract void endExternalElement(ResponseWriter writer, UIComponent component, String resourceUrl) throws IOException

      Allow the subclass to customize the end external element content.

      Throws:
      IOException
    • verifyTarget

      protected String verifyTarget(String toVerify)

      Allow a subclass to control what's a valid value for "target".