javax.faces.component

## Annotation Type FacesComponent

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

  The presence of this annotation on a class that extends `UIComponent` must cause the runtime to register this class as a component suitable for inclusion in a view. If the `createTag` attribute is `true`, the runtime must create a corresponding Facelet tag handler according to the rules specified in the attributes of this annotation.

- - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element and Description
    --- | ---
    `boolean` | `createTag` If the value of this attribute is `true`, the runtime must create a Facelet tag handler, that extends from `ComponentHandler`, suitable for use in pages under the tag library with namespace given by the value of the `namespace()` attribute.
    `String` | `namespace` If the value of the `createTag()` attribute is `true`, the value of this attribute is taken to be the tag library namespace into which this component is placed.
    `String` | `tagName` If the value of the `createTag()` attribute is `true`, the runtime must use this value as the tag name for including an instance of the component annotated with this annotation in a view.
    `String` | `value` The value of this annotation attribute is taken to be the component-type with which instances of this class of component can be instantiated by calling `Application.createComponent(java.lang.String)`.

- - ### Element Detail

    - #### value

          public abstract String value

      The value of this annotation attribute is taken to be the component-type with which instances of this class of component can be instantiated by calling `Application.createComponent(java.lang.String)`. If no value is specified, or the value is `null`, the value is taken to be the return of calling `getSimpleName` on the class to which this annotation is attached and lowercasing the first character. If more than one component with this derived name is found, the results are undefined.

      Default:
        ""

    - #### createTag

          public abstract boolean createTag

      If the value of this attribute is `true`, the runtime must create a Facelet tag handler, that extends from `ComponentHandler`, suitable for use in pages under the tag library with namespace given by the value of the `namespace()` attribute.

      Default:
        false

    - #### tagName

          public abstract String tagName

      If the value of the `createTag()` attribute is `true`, the runtime must use this value as the tag name for including an instance of the component annotated with this annotation in a view. If this attribute is not specified on a usage of this annotation, the simple name of the class on which this annotation is declared, with the first character lowercased, is taken to be the value.

      Default:
        ""

    - #### namespace

          public abstract String namespace

      If the value of the `createTag()` attribute is `true`, the value of this attribute is taken to be the tag library namespace into which this component is placed.

      Default:
        "http://xmlns.jcp.org/jsf/component"

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