Top Description Methods
jakarta.faces.application

public @Interface ResourceDependency

extends Annotation
Annotations
@Retention:RUNTIME
@Target:TYPE
@Inherited
@Repeatable:ResourceDependencies
Static Imports
java.lang.annotation.ElementType.TYPE, .RetentionPolicy.RUNTIME

Instances of jakarta.faces.component.UIComponent or jakarta.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 jakarta.faces.component.UIComponent or jakarta.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.

  1. If this annotation is not present on the class in question, no action must be taken.

  2. Create a jakarta.faces.component.UIOutput instance by passing jakarta.faces.Output. to Application#createComponent(java.lang.String).

  3. Get the annotation instance from the class and obtain the values of the name, library, and target attributes.

  4. If library is the empty string, let library be null.

  5. If target is the empty string, let target be null.

  6. Obtain the renderer-type for the resource name by passing name to ResourceHandler#getRendererTypeForResourceName.

  7. Call setRendererType on the UIOutput instance, passing the renderer-type.

  8. Obtain the Map of attributes from the UIOutput component by calling jakarta.faces.component.UIComponent#getAttributes.

  9. Store the name into the attributes Map under the key "name".

  10. If library is non-null, store it under the key "library".

  11. If target is non-null, store it under the key "target".

  12. Otherwise, if target is null, call jakarta.faces.component.UIViewRoot#addComponentResource(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent), passing the UIOutput instance as the second argument.

Example:

 
  @ResourceDependency(library="corporate", name="colorAndMedia.css"),

 
Since
2.0

Method Summary

Modifier and TypeMethod and Description
public String

Returns:

the library.
library
()

The libraryName in which the resource pointed to by this ResourceDependency resides.

public String

Returns:

the name.
name
()

The resourceName of the resource pointed to by this ResourceDependency.

public String

Returns:

the target.
target
()

The value given for this attribute will be passed as the "target" argument to jakarta.faces.component.UIViewRoot#addComponentResource(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent, java.lang.String).

Inherited from java.lang.annotation.Annotation:
annotationTypeequalshashCodetoString

Method Detail

libraryback to summary
public 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 Jakarta Expression Language Expressions in the value of this attribute, as long as the expression resolves to an instance of the expected type.

Returns:String

the library.

nameback to summary
public String name()

The resourceName of the resource pointed to by this ResourceDependency. It is valid to have Jakarta Expression Language Expressions in the value of this attribute, as long as the expression resolves to an instance of the expected type.

Returns:String

the name.

targetback to summary
public String target()

The value given for this attribute will be passed as the "target" argument to jakarta.faces.component.UIViewRoot#addComponentResource(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent, java.lang.String). If this attribute is specified, jakarta.faces.component.UIViewRoot#addComponentResource(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent) must be called instead, as described above. It is valid to have Jakarta Expression Language Expressions in the value of this attribute, as long as the expression resolves to an instance of the expected type.

Returns:String

the target.