Class 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 Summary
-
Constructor Summary
Constructors Constructor Description ScriptStyleBaseRenderer()
-
Method Summary
Modifier and Type Method Description 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.protected abstract void
endExternalElement(ResponseWriter writer, UIComponent component, String resourceUrl)
Allow the subclass to customize the end external element content.protected abstract void
endInlineElement(ResponseWriter writer, UIComponent component)
Allow the subclass to customize the end inline element content.boolean
getRendersChildren()
Return a flag indicating whether thisRenderer
is responsible for rendering the children the component it is asked to render.void
processEvent(ComponentSystemEvent event)
When called, the listener can assume that any guarantees given in the javadoc for the specificSystemEvent
subclass are true.protected abstract void
startExternalElement(ResponseWriter writer, UIComponent component)
Allow the subclass to customize the start external element content.protected abstract void
startInlineElement(ResponseWriter writer, UIComponent component)
Allow the subclass to customize the start inline element content.protected String
verifyTarget(String toVerify)
Allow a subclass to control what's a valid value for "target".
-
Field Details
-
Constructor Details
-
ScriptStyleBaseRenderer
public ScriptStyleBaseRenderer()
-
-
Method Details
-
processEvent
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 interfaceComponentSystemEventListener
- Parameters:
event
- theComponentSystemEvent
instance that is being processed.- Throws:
AbortProcessingException
- if lifecycle processing should cease for this request.
-
decode
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.
-
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 returnsfalse
.- Overrides:
getRendersChildren
in classRenderer
- Returns:
- the current value of the flag
-
encodeBegin
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
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
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
-
startInlineElement
protected abstract void startInlineElement(ResponseWriter writer, UIComponent component) throws IOExceptionAllow the subclass to customize the start inline element content.
- Throws:
IOException
-
endInlineElement
protected abstract void endInlineElement(ResponseWriter writer, UIComponent component) throws IOExceptionAllow the subclass to customize the end inline element content.
- Throws:
IOException
-
startExternalElement
protected abstract void startExternalElement(ResponseWriter writer, UIComponent component) throws IOExceptionAllow the subclass to customize the start external element content.
- Throws:
IOException
-
endExternalElement
protected abstract void endExternalElement(ResponseWriter writer, UIComponent component, String resourceUrl) throws IOExceptionAllow the subclass to customize the end external element content.
- Throws:
IOException
-
verifyTarget
Allow a subclass to control what's a valid value for "target".
-