@RetentionSE(valueSE=RUNTIMESE) @TargetSE(valueSE=TYPESE) @InheritedSE @RepeatableSE(valueSE=ResourceDependencies.class) public @interface ResourceDependency
このアノテーション(またはクラスレベルでアタッチされた ResourceDependencies
)を持つ UIComponent
または Renderer
のインスタンスには、リソースの依存関係が自動的に追加されるため、このコンポーネントまたはレンダラーが使用される UIViewRoot
のユーザーエージェントのビューに名前付きリソースが表示されます。
デフォルトの実装では、このアノテーションを UIComponent
または Renderer
クラスにアタッチすることをサポートする必要があります。どちらの場合も、このアノテーションの処理を促進するイベントは、ビューの最初のリクエスト時にビュー階層に UIComponent
インスタンスを挿入することです。そのイベントが発生した場合、次のアクションを実行する必要があります。
このアノテーションが問題のクラスに存在しない場合、アクションを実行する必要はありません。
jakarta.faces.Output
を渡して、UIOutput
インスタンスを作成します。Application.createComponent(java.lang.String)
へ。
クラスからアノテーションインスタンスを取得し、名前、ライブラリ、ターゲット属性の値を取得します。
ライブラリが空の文字列の場合、ライブラリを null
とします。
target が空の文字列の場合、target を null
とします。
name を ResourceHandler.getRendererTypeForResourceName(java.lang.String)
に渡して、リソース名のレンダラー型を取得します。
UIOutput
インスタンスで setRendererType
を呼び出し、レンダラー型を渡します。
UIComponent.getAttributes()
を呼び出して、UIOutput
コンポーネントから属性の Map
を取得します。
キー "name" の属性 Map
に名前を格納します。
ライブラリが null
以外の場合は、「ライブラリ」キーに保管してください。
ターゲットが null
以外の場合は、「ターゲット」キーに保存します。
それ以外の場合、ターゲットが null
の場合は、UIViewRoot.addComponentResource(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)
を呼び出し、UIOutput
インスタンスを 2 番目の引数として渡します。
例:
@ResourceDependency(library="corporate", name="colorAndMedia.css"),
修飾子と型 | オプションの要素と説明 |
---|---|
StringSE | library この |
StringSE | target この属性に指定された値は、「ターゲット」引数として |
public abstract StringSE name
この ResourceDependency
によって指されるリソースの resourceName。式が期待される型のインスタンスに解決される限り、この属性の値に Jakarta Expression Language Expressions を含めることは有効です。
public abstract StringSE library
この ResourceDependency
によって指されるリソースが存在する libraryName。指定されていない場合は、デフォルトで空の文字列になります。式が期待される型のインスタンスに解決される限り、この属性の値に Jakarta Expression Language Expressions を含めることは有効です。
public abstract StringSE target
この属性に指定された値は、「ターゲット」引数として UIViewRoot.addComponentResource(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent, java.lang.String)
に渡されます。この属性を指定する場合は、上記のように、代わりに UIViewRoot.addComponentResource(jakarta.faces.context.FacesContext,jakarta.faces.component.UIComponent)
を呼び出す必要があります。式が予期された型のインスタンスに解決される限り、この属性の値に Jakarta Expression Language Expressions を含めることは有効です。
Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.