Annotation Interface FacesRenderer


@Retention(RUNTIME) @Target(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 11.4 "Annotations that correspond to and may take the place of entries in the Application Configuration Resources" of the Jakarta Faces Specification Document, 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, jakarta.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.