javax.faces.render

## Annotation Type FacesRenderer

-     @Retention(value=RUNTIME)
      @Target(value=TYPE)
      @Inherited
      public @interface FacesRenderer

  The presence of this annotation on a class automatically registers the class with the runtime as a `Renderer`. The value of the `renderKitId()` attribute is taken to be the render-kit-id to which an instance of this `Renderer` is to be added. There must be a public zero-argument constructor on any class where this annotation appears. The implementation must indicate a fatal error if such a constructor does not exist and the application must not be placed in service. Within that `RenderKit`, The value of the `rendererType()` attribute is taken to be the renderer-type, and the value of the `componentFamily()` attribute is to be taken as the component-family. The implementation must guarantee that for each class annotated with `FacesRenderer`, found with the algorithm in section JSF.11.5, the following actions are taken.

  - Obtain a reference to the `RenderKitFactory` for this application.

  - See if a `RenderKit` exists for render-kit-id. If so, let that instance be renderKit for discussion. If not, the implementation must indicate a fatal error if such a `RenderKit` does not exist and the application must not be placed in service.

  - Create an instance of this class using the public zero-argument constructor.

  - Call `RenderKit.addRenderer(java.lang.String, java.lang.String, javax.faces.render.Renderer)` on renderKit, passing component-family as the first argument, renderer-type as the second, and the newly instantiated `RenderKit` instance as the third argument.

- - ### Required Element Summary

    Required Elements
    Modifier and Type | Required Element and Description
    --- | ---
    `String` | `componentFamily` The value of this annotation attribute is taken to be the component-family which, in combination with `rendererType()` can be used to obtain a reference to an instance of this `Renderer` by calling `RenderKit.getRenderer(java.lang.String, java.lang.String)`.
    `String` | `rendererType` The value of this annotation attribute is taken to be the renderer-type which, in combination with `componentFamily()` can be used to obtain a reference to an instance of this `Renderer` by calling `RenderKit.getRenderer(java.lang.String, java.lang.String)`.

  - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element and Description
    --- | ---
    `String` | `renderKitId` The value of this annotation attribute is taken to be the render-kit-id in which an instance of this class of `Renderer` must be installed.

- - ### Element Detail

    - #### rendererType

          public abstract String rendererType

      The value of this annotation attribute is taken to be the renderer-type which, in combination with `componentFamily()` can be used to obtain a reference to an instance of this `Renderer` by calling `RenderKit.getRenderer(java.lang.String, java.lang.String)`.

    - #### componentFamily

          public abstract String componentFamily

      The value of this annotation attribute is taken to be the component-family which, in combination with `rendererType()` can be used to obtain a reference to an instance of this `Renderer` by calling `RenderKit.getRenderer(java.lang.String, java.lang.String)`.

    - #### renderKitId

          public abstract String renderKitId

      The value of this annotation attribute is taken to be the render-kit-id in which an instance of this class of `Renderer` must be installed.

      Default:
        "HTML_BASIC"

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.