javax.faces.application.ResourceDependency
Instances of javax.faces.component.UIComponent or javax.faces.render.Renderer that have this annotation (or ResourceDependencies attached at the class level will automatically
have a resource dependency added so that the named resource will be
present in user agent's view of the UIViewRoot
in which
this component or renderer is used.
The default implementation must support attaching this annotation
to javax.faces.component.UIComponent or javax.faces.render.Renderer classes. In both cases, the event that
precipitates the processing of this annotation is the insertion of a
UIComponent
instance into the view hierarchy on an
initial request for a view. When that event happens, the following
action must be taken.
If this annotation is not present on the class in question, no action must be taken.
Create a javax.faces.component.UIOutput instance by passing
javax.faces.Output
. to Application#createComponent(java.lang.String) .
Get the annotation instance from the class and obtain the values of the name, library, and target attributes.
If library is the empty string, let library be
null
.
If target is the empty string, let target be
null
.
Obtain the renderer-type for the resource name by passing name to ResourceHandler#getRendererTypeForResourceName .
Call setRendererType
on the UIOutput
instance, passing the renderer-type.
Obtain the Map
of attributes from the
UIOutput
component by calling javax.faces.component.UIComponent#getAttributes .
Store the name into the attributes Map
under the
key "name".
If library is non-null
, store it under the key
"library".
If target is non-null
, store it under the key
"target".
Otherwise, if target is null
, call javax.faces.component.UIViewRoot#addComponentResource(javax.faces.context.FacesContext,
javax.faces.component.UIComponent) , passing the UIOutput
instance as the second argument.
Example:
@ResourceDependency(library="corporate", name="colorAndMedia.css"),
2.0
- Method from javax.faces.application.ResourceDependency Summary: |
---|
library, name, target |
Method from javax.faces.application.ResourceDependency Detail: |
---|
The libraryName in which
the resource pointed to by this |
The resourceName of the
resource pointed to by this |
The value given for this attribute will be passed as the "target" argument to javax.faces.component.UIViewRoot#addComponentResource(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.String) . If this attribute is specified, javax.faces.component.UIViewRoot#addComponentResource(javax.faces.context.FacesContext,javax.faces.component.UIComponent) must be called instead, as described above. It is valid to have EL Expressions in the value of this attribute, as long as the expression resolves to an instance of the expected type. |