パッケージ jakarta.faces.view

クラス ViewDeclarationLanguageWrapper

    • コンストラクターの詳細

      • ViewDeclarationLanguageWrapper

        @DeprecatedSE
        public ViewDeclarationLanguageWrapper()
        使用すべきではありません。
        ラップされている実装を使用する他のコンストラクターを使用します。
      • ViewDeclarationLanguageWrapper

        public ViewDeclarationLanguageWrapper​(ViewDeclarationLanguage wrapped)

        このビュー宣言言語が装飾されている場合、装飾を行う実装は、ラップされている実装をこのコンストラクターにプッシュする必要があります。getWrapped() は、ラップされている実装を返します。

        パラメーター:
        wrapped - ラップされる実装。
        導入:
        2.3
    • メソッドの詳細

      • getWrapped

        public ViewDeclarationLanguage getWrapped()
        インターフェースからコピーされた説明: FacesWrapper

        このインターフェースを実装するクラスは、このメソッドを使用して、ラップされているクラスのインスタンスを返します。

        次で指定:
        インターフェース FacesWrapper<ViewDeclarationLanguage>getWrapped 
        戻り値:
        ラップされたインスタンス。
      • restoreView

        public UIViewRoot restoreView​(FacesContext context,
                                      StringSE viewId)
        クラスからコピーされた説明: ViewDeclarationLanguage

        以前に作成したビューから UIViewRoot を復元します。デフォルト実装の仕様については、Jakarta Faces Specification Document のセクション 7.7.2「デフォルト ViewDeclarationLanguage 実装」を参照してください。

        次で指定:
        クラス ViewDeclarationLanguagerestoreView 
        パラメーター:
        context - このリクエストの FacesContext 
        viewId - 以前にレンダリングされたビューの識別子。
        戻り値:
        復元されたビュー
      • getViewMetadata

        public ViewMetadata getViewMetadata​(FacesContext context,
                                            StringSE viewId)
        クラスからコピーされた説明: ViewDeclarationLanguage

        引数 viewId で表されるビューのビューメタデータへの参照を返すか、メタデータが見つからない場合は null を返します。デフォルト実装の仕様については、Jakarta Faces Specification Document のセクション 7.7.2「デフォルト ViewDeclarationLanguage 実装」を参照してください。Facelets の実装は非 null を返す必要があります。

        次で指定:
        クラス ViewDeclarationLanguagegetViewMetadata 
        パラメーター:
        context - このリクエストの FacesContext
        viewId - メタデータを抽出するビュー ID
        戻り値:
        ビューのメタデータ
      • createView

        public UIViewRoot createView​(FacesContext context,
                                     StringSE viewId)
        クラスからコピーされた説明: ViewDeclarationLanguage

        引数 viewId によって参照されるアーティファクトに含まれる VDL から UIViewRoot を作成しますデフォルト実装の仕様については、Jakarta Faces Specification Document のセクション 7.7.2「デフォルト ViewDeclarationLanguage 実装」を参照してください。

        次で指定:
        クラス ViewDeclarationLanguagecreateView 
        パラメーター:
        context - このリクエストの FacesContext 
        viewId - このビューを説明する VDL 構文を含むアーティファクトの識別子。
        戻り値:
        新しく作成されたビュールート
      • buildView

        public void buildView​(FacesContext context,
                              UIViewRoot root)
                       throws IOExceptionSE
        クラスからコピーされた説明: ViewDeclarationLanguage

        子供たちと一緒に移入する、ViewDeclarationLanguage.createView(jakarta.faces.context.FacesContext, java.lang.String) への呼び出しを介して作成されている必要があり、引数 UIViewRoot を引き起こすために、この VDL 実装に任意のアクションを特定してください。

        Facelets の実装では、ビューを構成するマークアップを実行する必要があります。ビュー内の UIComponent インスタンスは、UIComponent で定義された他のライフサイクルメソッドと同じ深さ優先で検出され、その間にビューに追加されます(ただしレンダリングされません)。トラバーサル。ランタイムは、次のいずれかが発生する前に、ビューが完全に入力されている必要があることを保証する必要があります。

        root にすでに子が設定されている場合でも、ビューを再構築する必要がありますが、既存のコンポーネントが VDL ページの対応する VDL と正しくペアリングされるように注意する必要があります。また、ビューからのコンポーネントの追加または削除中に通常生成されるシステムイベントは、ビューの作成中に一時的に無効にし、ビューの作成時に再度有効にする必要があります。

        次で指定:
        クラス ViewDeclarationLanguagebuildView 
        パラメーター:
        context - このリクエストの FacesContext 
        root - この VDL 実装に固有の手法を使用して、子を実装する UIViewRoot
        例外:
        IOExceptionSE - 何らかの理由でビューを構築できない場合
      • getId

        public StringSE getId()
        クラスからコピーされた説明: ViewDeclarationLanguage

        このビュー宣言言語を識別するために使用できる null 以外の文字列を返します。

        デフォルトの実装は、ビュー宣言言語実装の完全修飾クラス名を返します。サブクラスは、より意味のある ID を提供するためにオーバーライドできます。

        オーバーライド:
        クラス ViewDeclarationLanguagegetId 
        戻り値:
        このビュー宣言言語の ID
      • retargetAttachedObjects

        public void retargetAttachedObjects​(FacesContext context,
                                            UIComponent topLevelComponent,
                                            ListSE<AttachedObjectHandler> handlers)
        クラスからコピーされた説明: ViewDeclarationLanguage

        引数 topLevelComponent のコンポーネントメタデータが ViewDeclarationLanguage.getComponentMetadata(jakarta.faces.context.FacesContext, jakarta.faces.application.Resource) の以前の呼び出しによって使用可能になっていると仮定すると、コンポーネントメタデータを活用して、アタッチされたオブジェクトを最上位の複合コンポーネントから複合コンポーネント内の個々の AttachedObjectTarget インスタンスに再ターゲットします。このメソッドは、複合コンポーネントの使用が検出されたときに UIComponent ツリーを作成するときに、ViewDeclarationLanguage 実装によって呼び出される必要があります。

        以下と意味的に同等のアルゴリズムを実装する必要があります。

        実装は、アタッチされたオブジェクトをトップレベルのコンプサイトコンポーネントからコンポジットおよび非コンポジットコンポーネントであるターゲットに再ターゲットすることをサポートする必要があります。

        UnsupportedOperationException をスローする実装が提供されます。バージョン 2.0 に準拠し、仕様を超える Faces 実装は、このメソッドをオーバーライドする必要があります。

        オーバーライド:
        クラス ViewDeclarationLanguageretargetAttachedObjects 
        パラメーター:
        context - このリクエストの FacesContext。
        topLevelComponent - アタッチされたオブジェクトをアタッチする必要があるビューの UIComponent。この UIComponent には、そのコンポーネントメタデータがすでに関連付けられており、JavaBeans API を介して利用できる必要があります。
        handlers - アタッチされたオブジェクトのタグハンドラー
      • retargetMethodExpressions

        public void retargetMethodExpressions​(FacesContext context,
                                              UIComponent topLevelComponent)
        クラスからコピーされた説明: ViewDeclarationLanguage

        引数 topLevelComponent のコンポーネントメタデータが ViewDeclarationLanguage.getComponentMetadata(jakarta.faces.context.FacesContext, jakarta.faces.application.Resource) の以前の呼び出しによって使用可能になっていると仮定すると、最上位コンポーネントから適切な内部コンポーネントにメソッド式を再ターゲットする目的でコンポーネントメタデータを活用します。MethodExpression である属性ごとに( "method-signature" 属性が存在し、"type" 属性が存在しないことで示されます)、次のアクションを実行する必要があります。

        • ターゲット属性の値を取得します。値が ValueExpression の場合は、それを評価します。ターゲット属性がない場合は、メタデータ要素の名前をターゲット属性の評価値とします

        • ターゲットをスペース(タブではなく)で区切られた ID のリストとして解釈します。リストの各エントリについて:

          • 現在のリストエントリと同じ ID を持つ topLevelComponent の内部コンポーネントを検索します。説明上、このコンポーネントは target と呼ばれます。見つからない場合は、ログにエラーを出力し、次の属性に進みます。

          • 説明のために、属性の宣言された名前は name と呼ばれます

          • topLevelComponent の属性マップで、キーのエントリを検索します。結果が ValueExpression であると仮定します。説明のために、これは attributeValueExpression です。見つからない場合は、エラーをログに記録し、次の属性に進みます。

          • name が文字列 "action" または引用符なしの "actionListener" と等しい場合、ターゲットActionSource2 であると想定します。

          • name が文字列 "validator" または引用符なしの "valueChangeListener" と等しい場合、ターゲットEditableValueHolder であると想定します。

          • attributeValueExpression で getExpressionString() を呼び出し、その文字列を使用して name の適切な署名の MethodExpression を作成します。

          • name が前述の文字列のいずれとも等しくない場合は、attributeValueExpression で getExpressionString() を呼び出し、その文字列を使用して <composite:attribute /> タグの "method-signature" 属性の値に基づいて署名が作成される MethodExpression を作成します。

          • 結果として得られる MethodExpression を議論のために attributeMethodExpression と呼ぶことにします。

          • name が引用符なしの文字列 "action" と等しい場合は、target に対して ActionSource2.setActionExpression(jakarta.el.MethodExpression) を呼び出し、attributeMethodExpression を渡します。

          • name が引用符なしの文字列 "actionListener" と等しい場合は、targetActionSource.addActionListener(jakarta.faces.event.ActionListener) を呼び出し、MethodExpressionActionListener でラップされた attributeMethodExpression を渡します。

          • name が引用符なしの文字列 "validator" と等しい場合は、target に対して EditableValueHolder.addValidator(jakarta.faces.validator.Validator) を呼び出し、MethodExpressionValidator でラップされた attributeMethodExpression を渡します。

          • name が引用符なしの文字列 "valueChangeListener" と等しい場合は、targetEditableValueHolder.addValueChangeListener(jakarta.faces.event.ValueChangeListener) を呼び出し、MethodExpressionValueChangeListener でラップされた attributeMethodExpression を渡します。

          • それ以外の場合は、MethodExpression をコンポーネント属性セットに配置する必要があると想定します。runtme は、"method-signature" 属性の値に基づいて MethodExpression インスタンスを作成する必要があります。

        UnsupportedOperationException をスローする実装が提供されます。バージョン 2.0 に準拠し、仕様を超える Faces 実装は、このメソッドをオーバーライドする必要があります。

        オーバーライド:
        クラス ViewDeclarationLanguageretargetMethodExpressions 
        パラメーター:
        context - このリクエストの FacesContext。
        topLevelComponent - アタッチされたオブジェクトをアタッチする必要があるビューの UIComponent。この UIComponent には、そのコンポーネントメタデータがすでに関連付けられており、JavaBeans API を介して利用できる必要があります。
      • getViews

        public StreamSE<StringSE> getViews​(FacesContext context,
                                       StringSE path,
                                       ViewVisitOption... options)
        クラスからコピーされた説明: ViewDeclarationLanguage

        指定された初期パスをルートとするビューツリーを進めることにより、おそらく怠惰に設定された Stream を返します。ビューツリーは幅優先でトラバースれ、ストリーム内の要素は論理ビュー ID です。

        このメソッドは、それを呼び出すことは式を評価することと同等であるかのように機能します。

         getViewResources(facesContext, start, Integer.MAX_VALUE, options)
         
        言い換えると、リソースツリーのすべてのレベルにアクセスします。
        オーバーライド:
        クラス ViewDeclarationLanguagegetViews 
        パラメーター:
        context - このリクエストの FacesContext
        path - ビューの検索を開始する最初のパス
        options - トラバーサルに影響を与えるオプション。これらの詳細については、ViewVisitOption を参照してください。
        戻り値:
        ビュー ID の StreamSE
      • getViews

        public StreamSE<StringSE> getViews​(FacesContext context,
                                       StringSE path,
                                       int maxDepth,
                                       ViewVisitOption... options)
        クラスからコピーされた説明: ViewDeclarationLanguage

        指定された初期パスをルートとするビューツリーを進めることにより、おそらく怠惰に設定された Stream を返します。ビューツリーは幅優先でトラバースれ、ストリーム内の要素は論理ビュー ID です。

        maxDepth パラメーターは、常にアクセスされる初期パスを超えてアクセスするディレクトリレベルの最大深度です。値は、指定された初期パスではなく、ルート(/)を基準にしています。たとえば、maxDepth = 3 および初期パス /foo/ が与えられた場合、訪問は /foo/bar/ まで進みます。ここで、/ は深さ 1 としてカウントされ、/foo/ は深さ 2 としてカウントされ、/foo/bar/ は深さ 3 としてカウントされます。初期パスの深さ以下の値は、初期パスのみが訪問されることを意味します。MAX_VALUESE の値を使用して、すべてのレベルにアクセスする必要があることを示すことができます。

        オーバーライド:
        クラス ViewDeclarationLanguagegetViews 
        パラメーター:
        context - このリクエストの FacesContext
        path - ビューの検索を開始する最初のパス
        maxDepth - ルート(/)から数えた、アクセスするネストされたディレクトリの絶対最大深度。
        options - トラバーサルに影響を与えるオプション。これらの詳細については、ViewVisitOption を参照してください。
        戻り値:
        ビュー ID の StreamSE
      • calculateResourceLibraryContracts

        public ListSE<StringSE> calculateResourceLibraryContracts​(FacesContext context,
                                                              StringSE viewId)
        クラスからコピーされた説明: ViewDeclarationLanguage

        引数 viewId で指定されたビューで使用できるようになるリソースライブラリ契約のリストを返します。一致するものが見つからない場合は、空のリストを返します。デフォルト実装の仕様については、Jakarta Faces Specification Document のセクション 7.7.2「デフォルト ViewDeclarationLanguage 実装」を参照してください。以前の実装との下位互換性のために、null を返す実装が提供されていますが、このメソッドが導入された仕様のバージョンに準拠する実装は、Jakarta Faces Specification Document のセクション 7.7.2「デフォルト ViewDeclarationLanguage 実装」で指定されているとおりに実装する必要があります。

        オーバーライド:
        クラス ViewDeclarationLanguagecalculateResourceLibraryContracts 
        パラメーター:
        context - このリクエストの FacesContext 
        viewId - 該当するリソースライブラリ契約を計算する必要があるビュー ID。
        戻り値:
        リソースライブラリ契約名の計算されたリスト
      • createComponent

        public UIComponent createComponent​(FacesContext context,
                                           StringSE taglibURI,
                                           StringSE tagName,
                                           MapSE<StringSE,​ObjectSE> attributes)
        クラスからコピーされた説明: ViewDeclarationLanguage

        ViewDeclarationLanguage 固有のタグライブラリ URI とタグ名を指定してコンポーネントを作成します。ランタイムは、FaceletsVDL で動作するこのメソッドをサポートする必要があります。他の種類の ViewDeclarationLanguage がサポートされている場合がありますが、サポートする必要はありません。このメソッドをオーバーライドしない装飾された ViewDeclrationLanguage 実装との下位互換性のために、null を返すデフォルトの実装が提供されています。ただし、このメソッドが導入された仕様のバージョンに準拠する実装では、このメソッドを実装する必要があります。

        オーバーライド:
        クラス ViewDeclarationLanguagecreateComponent 
        パラメーター:
        context - このリクエストの FacesContext
        taglibURI - コンポーネントを含む完全修飾タグライブラリ URI
        tagName - コンポーネントを公開するライブラリ内のタグの名前
        attributes - 属性を指定する必要がない場合、このコンポーネントまたは null の作成を引き起こすマークアップで指定されたであろう名前 = 値のペア。
        戻り値:
        新しく作成されたコンポーネント
      • getComponentMetadata

        public BeanInfoSE getComponentMetadata​(FacesContext context,
                                             Resource componentResource)
        クラスからコピーされた説明: ViewDeclarationLanguage

        引数 componentResource で表される複合コンポーネントのコンポーネントメタデータへの参照を返すか、メタデータが見つからない場合は null を返します。デフォルト実装の仕様については、Jakarta Faces Specification Document のセクション 7.7.2「デフォルト ViewDeclarationLanguage 実装」を参照してください。Jakarta Server Pages 実装は UnsupportedOperationException をスローする必要があります。

        次で指定:
        クラス ViewDeclarationLanguagegetComponentMetadata 
        パラメーター:
        context - このリクエストの FacesContext
        componentResource - コンポーネントを表す Resource
        戻り値:
        コンポーネントのメタデータ
      • getScriptComponentResource

        public Resource getScriptComponentResource​(FacesContext context,
                                                   Resource componentResource)
        クラスからコピーされた説明: ViewDeclarationLanguage

        引数 componentResource を指定して、実装固有のアクションを実行して Resource を検出します。デフォルト実装の仕様については、Jakarta Faces Specification Document のセクション 7.7.2「デフォルト ViewDeclarationLanguage 実装」を参照してください。Jakarta Server Pages 実装は UnsupportedOperationException をスローする必要があります。

        次で指定:
        クラス ViewDeclarationLanguagegetScriptComponentResource 
        パラメーター:
        context - このリクエストの FacesContext
        componentResource - コンポーネントを表す Resource
        戻り値:
        引数  componentResource に対応する Resource
      • getStateManagementStrategy

        public StateManagementStrategy getStateManagementStrategy​(FacesContext context,
                                                                  StringSE viewId)
        クラスからコピーされた説明: ViewDeclarationLanguage

        状態の保存と復元の実装を制御したい実装の場合、StateManagementStrategy ではそれが可能です。null を返すことは、実装がランタイムに状態の保存と復元を処理することを望んでいることを示します。Jakarta Faces 2.0 以降の Facelets に VDL を提供する実装は、このメソッドから非 null を返す必要があります。

        次で指定:
        クラス ViewDeclarationLanguagegetStateManagementStrategy 
        パラメーター:
        context - 現在のリクエストの FacesContext
        viewId - ビュー ID。
        戻り値:
        上記で指定された戦略