public abstract class RenderKit extends Object
RenderKit
 represents a collection of Renderer instances that, together,
 know how to render JavaServer Faces UIComponent instances for
 a specific client.  Typically, RenderKits are specialized for
 some combination of client device type, markup language, and/or user
 Locale.  A RenderKit also acts as a Factory for
 associated Renderer instances, which perform the actual
 rendering process for each component.
A typical JavaServer Faces implementation will configure one or
 more RenderKit instances at web application startup.  They
 are made available through calls to the getRenderKit()
 methods of RenderKitFactory.  Because RenderKit
 instances are shared, they must be implemented in a thread-safe
 manner.  Due to limitations in the current specification having
 multiple RenderKit instances at play in the same
 application requires a custom ViewHandler instance that is aware of how to
 deal with this case.  This limitation will be lifted in a future
 version of the spec.
The RenderKit instance must also vend a ResponseStateManager instance, which is used in the process of
 saving and restoring tree structure and state.
| Constructor and Description | 
|---|
| RenderKit() | 
| Modifier and Type | Method and Description | 
|---|---|
| void | addClientBehaviorRenderer(String type,
                         ClientBehaviorRenderer renderer)Register the specified  ClientBehaviorRendererinstance, 
 associated with the specified componenttype,
 to the set ofClientBehaviorRenderers registered with thisRenderKit, replacing any previously registeredClientBehaviorRendererfor this type. | 
| abstract void | addRenderer(String family,
           String rendererType,
           Renderer renderer) | 
| abstract ResponseStream | createResponseStream(OutputStream out)Use the provided  OutputStreamto create a newResponseStreaminstance. | 
| abstract ResponseWriter | createResponseWriter(Writer writer,
                    String contentTypeList,
                    String characterEncoding)Use the provided  Writerto create a newResponseWriterinstance for the specified (optional) content
 type, and character encoding. | 
| ClientBehaviorRenderer | getClientBehaviorRenderer(String type)Return the  ClientBehaviorRendererinstance most recently 
 registered for the specifiedtype, if any; 
 otherwise, returnnull. | 
| Iterator<String> | getClientBehaviorRendererTypes()Return an  | 
| Iterator<String> | getComponentFamilies()Return an  | 
| abstract Renderer | getRenderer(String family,
           String rendererType)Return the  Rendererinstance most recently registered for
 the specified componentfamilyandrendererType, if any; otherwise, returnnull. | 
| Iterator<String> | getRendererTypes(String componentFamily)Return an  | 
| abstract ResponseStateManager | getResponseStateManager()Return an instance of  ResponseStateManagerto handle
 rendering technology specific state management decisions. | 
public abstract void addRenderer(String family, String rendererType, Renderer renderer)
Register the specified Renderer instance, associated with the
 specified component family and rendererType,
 to the set of Renderers registered with this RenderKit,
 replacing any previously registered Renderer for this
 combination of identifiers.
family - Component family of the Renderer to registerrendererType - Renderer type of the Renderer to registerrenderer - Renderer instance we are registeringNullPointerException - if family or
  rendererType or renderer is nullpublic abstract Renderer getRenderer(String family, String rendererType)
Return the Renderer instance most recently registered for
 the specified component family and
 rendererType, if any; otherwise, return
 null.
family - Component family of the requested
  Renderer instancerendererType - Renderer type of the requested
  Renderer instanceRenderer instanceNullPointerException - if family or
  rendererType is nullpublic abstract ResponseStateManager getResponseStateManager()
Return an instance of ResponseStateManager to handle
 rendering technology specific state management decisions.
ResponseStateManagerpublic abstract ResponseWriter createResponseWriter(Writer writer, String contentTypeList, String characterEncoding)
Use the provided Writer to create a new ResponseWriter instance for the specified (optional) content
 type, and character encoding.
Implementors are advised to consult the
 getCharacterEncoding() method of class ServletResponse to get the required value for the
 characterEncoding for this method.  Since the Writer
 for this response will already have been obtained (due to it
 ultimately being passed to this method), we know that the
 character encoding cannot change during the rendering of the
 response.
writer - the Writer around which this ResponseWriter
 must be built.contentTypeList - an "Accept header style" list of content
 types for this response, or null if the RenderKit
 should choose the best fit.  As of the current version, the
 values accepted by the Standard render-kit for this parameter
 include any valid "Accept header style" String that includes the
 String text/html,
 application/xhtml+xml, application/xml
 or text/xml.  This may change in a future version.
 The RenderKit must support a value for this argument that comes
 straight from the Accept HTTP header, and therefore
 requires parsing according to the specification of the
 Accept header.  Please see Section
 14.1 of RFC 2616 for the specification of the
 Accept header.characterEncoding - such as "ISO-8859-1" for this
 ResponseWriter, or null if the
 RenderKit should choose the best fit.  Please see the
 IANA for a list of character encodings.ResponseWriter.IllegalArgumentException - if no matching content type
 can be found in contentTypeList, no appropriate
 content type can be found with the implementation dependent best
 fit algorithm, or no matching character encoding can be found for
 the argument characterEncoding.public abstract ResponseStream createResponseStream(OutputStream out)
Use the provided OutputStream to create a new
 ResponseStream instance.
out - the OutputStream around which to create the
 ResponseStreamResponseStreampublic Iterator<String> getComponentFamilies()
Return an Iterator over
 the component-family entries supported by this
 RenderKit instance.
 The default implementation of this method returns an empty
 Iterator
 
Iterator over
 the component-family entriespublic Iterator<String> getRendererTypes(String componentFamily)
Return an Iterator over
 the renderer-type entries for the given component-family.
If the specified componentFamily
 is not known to this RenderKit implementation, return
 an empty Iterator
 The default implementation of this method returns an empty
 Iterator
 
componentFamily - one of the members of the
 Iterator returned by getComponentFamilies().Iterator over the renderer-typepublic void addClientBehaviorRenderer(String type, ClientBehaviorRenderer renderer)
Register the specified ClientBehaviorRenderer instance, 
 associated with the specified component type,
 to the set of ClientBehaviorRenderers registered with this 
 RenderKit, replacing any previously registered 
 ClientBehaviorRenderer for this type.
type - type of the ClientBehaviorRenderer to registerrenderer - ClientBehaviorRenderer instance we are registeringNullPointerException - if type or 
 renderer is nullpublic ClientBehaviorRenderer getClientBehaviorRenderer(String type)
Return the ClientBehaviorRenderer instance most recently 
 registered for the specified type, if any; 
 otherwise, return null.
type - type of the requested
  ClientBehaviorRenderer instanceClientBehaviorRenderer instanceNullPointerException - if type
  is nullpublic Iterator<String> getClientBehaviorRendererTypes()
Return an Iterator over
 the ClientBehaviorRenderer types.
Iterator over
 the ClientBehaviorRendererCopyright © 2019 JBoss by Red Hat. All rights reserved.