Class RenderKitFactory

  • All Implemented Interfaces:
    FacesWrapper<RenderKitFactory>


    public abstract class RenderKitFactory
    extends java.lang.Object
    implements FacesWrapper<RenderKitFactory>

    RenderKitFactory is a factory object that registers and returns 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);
     

    Usage: extend this class and push the implementation being wrapped to the constructor and use getWrapped() to access the instance being wrapped.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String HTML_BASIC_RENDER_KIT
      The render kit identifier of the default RenderKit instance for this JavaServer Faces implementation.
    • Constructor Summary

      Constructors 
      Constructor Description
      RenderKitFactory​()
      Deprecated. 
      Use the other constructor taking the implementation being wrapped.
      RenderKitFactory​(RenderKitFactory wrapped)
      If this factory has been decorated, the implementation doing the decorating should push the implementation being wrapped to this constructor.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      abstract void addRenderKit​(java.lang.String renderKitId, RenderKit renderKit)
      Register the specified RenderKit instance, associated with the specified renderKitId, to be supported by this RenderKitFactory, replacing any previously registered RenderKit for this identifier.
      abstract RenderKit getRenderKit​(FacesContext context, java.lang.String renderKitId)
      Return a RenderKit instance for the specified render kit identifier, possibly customized based on dynamic characteristics of the specified FacesContext, if non-null.
      abstract java.util.Iterator<java.lang.String> getRenderKitIds​()
      Return an Iterator over the set of render kit identifiers registered with this factory.
      RenderKitFactory getWrapped​()
      If this factory has been decorated, the implementation doing the decorating may override this method to provide access to the implementation being wrapped.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • HTML_BASIC_RENDER_KIT

        public static final java.lang.String HTML_BASIC_RENDER_KIT

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

        See Also:
        Constant Field Values
    • Constructor Detail

      • RenderKitFactory

        @Deprecated
        public RenderKitFactory​()
        Deprecated. Use the other constructor taking the implementation being wrapped.
      • RenderKitFactory

        public RenderKitFactory​(RenderKitFactory wrapped)

        If this factory has been decorated, the implementation doing the decorating should push the implementation being wrapped to this constructor. The getWrapped() will then return the implementation being wrapped.

        Parameters:
        wrapped - The implementation being wrapped.
    • Method Detail

      • getWrapped

        public RenderKitFactory getWrapped​()

        If this factory has been decorated, the implementation doing the decorating may override this method to provide access to the implementation being wrapped.

        Specified by:
        getWrapped in interface FacesWrapper<RenderKitFactory>
        Returns:
        the wrapped instance.
        Since:
        2.0
      • addRenderKit

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

        Register the specified RenderKit instance, associated with the specified renderKitId, to be supported by this RenderKitFactory, replacing any previously registered RenderKit for this identifier.

        Parameters:
        renderKitId - Identifier of the RenderKit to register
        renderKit - RenderKit instance that we are registering
        Throws:
        java.lang.NullPointerException - if renderKitId or renderKit is null
      • getRenderKit

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

        Return a RenderKit instance for the specified render kit identifier, possibly customized based on dynamic characteristics of the specified FacesContext, if non-null. If there is no registered RenderKit for the specified identifier, return null. The set of available render kit identifiers is available via the getRenderKitIds() method.

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

        public abstract java.util.Iterator<java.lang.String> getRenderKitIds​()

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

        Returns:
        an Iterator over the set of render kit identifiers