-
@Retention(value=RUNTIME) @Target(value=TYPE) @Inherited public @interface ResourceDependency
Instances of
UIComponent
orRenderer
that have this annotation (orResourceDependencies
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 theUIViewRoot
in which this component or renderer is used.The default implementation must support attaching this annotation to
UIComponent
orRenderer
classes. In both cases, the event that precipitates the processing of this annotation is the insertion of aUIComponent
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
UIOutput
instance by passingjavax.faces.Output
. toApplication.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(java.lang.String)
.Call
setRendererType
on theUIOutput
instance, passing the renderer-type.Obtain the
Map
of attributes from theUIOutput
component by callingUIComponent.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
, callUIViewRoot.addComponentResource(javax.faces.context.FacesContext, javax.faces.component.UIComponent)
, passing theUIOutput
instance as the second argument.
Example:
@ResourceDependency(library="corporate", name="colorAndMedia.css"),
- Since:
- 2.0
-
-
Required Element Summary
Required Elements Modifier and Type Required Element and Description String
name
The resourceName of the resource pointed to by this
ResourceDependency
.
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element and Description String
library
The libraryName in which the resource pointed to by this
ResourceDependency
resides.String
target
The value given for this attribute will be passed as the "target" argument to
UIViewRoot.addComponentResource(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.String)
.
-
-
-
Element Detail
-
name
public abstract String name
The resourceName of the resource pointed to by this
ResourceDependency
. 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.
-
-
-
library
public abstract String library
The libraryName in which the resource pointed to by this
ResourceDependency
resides. If not specified, defaults to the empty string. 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.- Default:
- ""
-
-
-
target
public abstract String target
The value given for this attribute will be passed as the "target" argument to
UIViewRoot.addComponentResource(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.String)
. If this attribute is specified,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.- Default:
- ""
-
-
Document created the 11/06/2005, last modified the 18/08/2025
Source of the printed document:https://www.gaudry.be/en/java-api-javaee-rf-javax/faces/application/ResourceDependency.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
References
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author of this site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.