@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.
Modifier and Type | Fields and Description |
---|---|
static java.lang.String |
NAMESPACE
Components that declare a |
Modifier and Type | Optional Element and Description |
---|---|
boolean |
createTag
If the value of this attribute is |
java.lang.String |
namespace
If the value of the |
java.lang.String |
tagName
If the value of the |
java.lang.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
|
public static final java.lang.String NAMESPACE
Components that declare a createTag = true
attribute will be placed into this tag namespace if the
namespace attribute is omitted.
public abstract java.lang.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.
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.
true
to create the Facelet tag handler, false
otherwise.public abstract java.lang.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.
public abstract java.lang.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.