javax.faces.render
Class RenderKitFactory

java.lang.Object
  extended byjavax.faces.render.RenderKitFactory

public abstract class RenderKitFactory
extends java.lang.Object

RenderKitFactory is a factory object that creates (if needed) and returns new RenderKit instances. Implementations of JavaServer Faces must provide at least a default implementation of RenderKit. Advanced implementations (or external third party libraries) may provide additional RenderKit implementations (keyed by render kit identifiers) for performing different types of rendering for the same components.

There must be one RenderKitFactory instance per web application that is utilizing JavaServer Faces. This instance can be acquired, in a portable manner, by calling:

   RenderKitFactory factory = (RenderKitFactory)
    FactoryFinder.getFactory(FactoryFinder.RENDER_KIT_FACTORY);
 


Field Summary
static java.lang.String DEFAULT_RENDER_KIT
          The render kit identifier of the default RenderKit instance for this JavaServer Faces implementation.
 
Constructor Summary
RenderKitFactory()
           
 
Method Summary
abstract  void addRenderKit(java.lang.String renderKitId, RenderKit renderKit)
          Register a new RenderKit instance, associated with the specified renderKitId, to be supported by this RenderKitFactory.
abstract  RenderKit getRenderKit(java.lang.String renderKitId)
          Create (if needed) and return a RenderKit instance for the specified render kit identifier.
abstract  RenderKit getRenderKit(java.lang.String renderKitId, FacesContext context)
          Create (if needed) and return a RenderKit instance for the specified render kit identifier, possibly customized based on dynamic characteristics of the specified FacesContext.
abstract  java.util.Iterator getRenderKitIds()
          Return an Iterator over the set of render kit identifiers supported by this factory.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_RENDER_KIT

public static final java.lang.String DEFAULT_RENDER_KIT

The render kit identifier of the default RenderKit instance for this JavaServer Faces implementation.

See Also:
Constant Field Values
Constructor Detail

RenderKitFactory

public RenderKitFactory()
Method Detail

addRenderKit

public abstract void addRenderKit(java.lang.String renderKitId,
                                  RenderKit renderKit)

Register a new RenderKit instance, associated with the specified renderKitId, to be supported by this RenderKitFactory. This method may be called at any time, and makes the corresponding RenderKit instance available throughout the remaining lifetime of this web application.

Parameters:
renderKitId - Identifier of the new RenderKit
renderKit - RenderKit instance that we are registering
Throws:
java.lang.IllegalArgumentException - if a RenderKit with the specified renderKitId has already been registered
java.lang.NullPointerException - if renderKitId or renderKit is null

getRenderKit

public abstract RenderKit getRenderKit(java.lang.String renderKitId)

Create (if needed) and return a RenderKit instance for the specified render kit identifier. The set of available render kit identifiers is available via the getRenderKitIds() method.

Each call to getRenderKit() for the same renderKitId, from within the same web application, must return the same RenderKit instance.

Parameters:
renderKitId - Render kit identifier of the requested RenderKit instance
Throws:
java.lang.IllegalArgumentException - if no RenderKit instance can be returned for the specified identifier
java.lang.NullPointerException - if renderKitId is null

getRenderKit

public abstract RenderKit getRenderKit(java.lang.String renderKitId,
                                       FacesContext context)

Create (if needed) and return a RenderKit instance for the specified render kit identifier, possibly customized based on dynamic characteristics of the specified FacesContext. The set of available render kit identifiers is available via the getRenderKitIds() method.

Parameters:
renderKitId - Render kit identifier of the requested RenderKit instance
context - FacesContext for the request currently being processed
Throws:
java.lang.IllegalArgumentException - if no RenderKit instance can be returned for the specified identifier
java.lang.NullPointerException - if renderKitId or context is null

getRenderKitIds

public abstract java.util.Iterator getRenderKitIds()

Return an Iterator over the set of render kit identifiers supported by this factory. This set must include the value specified by RenderKitFactory.DEFAULT_RENDER_KIT.