パッケージ jakarta.el

クラス CompositeELResolver

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

      • CompositeELResolver

        public CompositeELResolver()
    • メソッドの詳細

      • add

        public void add​(ELResolver elResolver)
        指定されたリゾルバーをコンポーネントリゾルバーのリストに追加します。

        リゾルバーは、追加された順に参照されます。

        パラメーター:
        elResolver - 追加するコンポーネントリゾルバー。
        例外:
        NullPointerExceptionSE - 提供されたリゾルバーが null の場合。
      • getValue

        public ObjectSE getValue​(ELContext context,
                               ObjectSE base,
                               ObjectSE property)
        すべてのコンポーネントリゾルバーをクエリすることにより、指定された base オブジェクト上の指定された property オブジェクトを解決しようとします。

        このリゾルバーが指定された(ベース、プロパティ)ペアを処理する場合、戻る前に、リゾルバーによって ELContext オブジェクトの propertyResolved プロパティを true に設定する必要があります。このメソッドが呼び出された後、このプロパティが true でない場合、呼び出し元は戻り値を無視する必要があります。

        まず、提供されている ELContext で propertyResolved が false に設定されます。

        次に、このコンポジットの各コンポーネントリゾルバー:

        1. getValue() メソッドが呼び出され、提供された contextbaseproperty が渡されます。
        2. ELContext の propertyResolved フラグが false の場合、反復が続行されます。
        3. そうでない場合、反復は停止し、コンポーネントリゾルバーは考慮されません。getValue() によって返される値は、このメソッドによって返されます。

        どのコンポーネントリゾルバーもこの操作を実行できなかった場合、値 null が返され、propertyResolved フラグは false に設定されたままになります。

        反復中にコンポーネントリゾルバーによってスローされた例外は、このメソッドの呼び出し元に伝達されます。

        次で指定:
        クラス ELResolvergetValue 
        パラメーター:
        context - この評価のコンテキスト。
        base - プロパティ値が返されるベースオブジェクト、またはトップレベル変数を解決する null
        property - 解決するプロパティまたは変数。
        戻り値:
        ELContext の propertyResolved プロパティが true に設定されている場合、変数またはプロパティ解決の結果。それ以外は未定義。
        例外:
        NullPointerExceptionSE - コンテキストが null の場合
        PropertyNotFoundException - 指定された(ベース、プロパティ)のペアがこの ELResolver によって処理されましたが、指定された変数またはプロパティが存在しないか、読み取りできない場合。
        ELException - プロパティまたは変数の解決の実行中に例外がスローされた場合。スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。
      • invoke

        public ObjectSE invoke​(ELContext context,
                             ObjectSE base,
                             ObjectSE method,
                             ClassSE<?>[] paramTypes,
                             ObjectSE[] params)
        すべてのコンポーネントリゾルバーを照会することにより、指定された base オブジェクトで指定された method を解決して呼び出すことを試みます。

        このリゾルバーが指定された(ベース、メソッド)ペアを処理する場合、戻る前に、リゾルバーによって ELContext オブジェクトの propertyResolved プロパティを true に設定する必要があります。このメソッドが呼び出された後、このプロパティが true でない場合、呼び出し元は戻り値を無視する必要があります。

        まず、提供されている ELContext で propertyResolved が false に設定されます。

        次に、このコンポジットの各コンポーネントリゾルバー:

        1. invoke() メソッドが呼び出され、提供された contextbasemethodparamTypesparams が渡されます。
        2. ELContext の propertyResolved フラグが false の場合、反復が続行されます。
        3. そうでない場合、反復は停止し、コンポーネントリゾルバーは考慮されません。getValue() によって返される値は、このメソッドによって返されます。

        どのコンポーネントリゾルバーもこの操作を実行できなかった場合、値 null が返され、propertyResolved フラグは false に設定されたままになります。

        .

        反復中にコンポーネントリゾルバーによってスローされた例外は、このメソッドの呼び出し元に伝達されます。

        オーバーライド:
        クラス ELResolverinvoke 
        パラメーター:
        context - この評価のコンテキスト。
        base - メソッドを呼び出す Bean
        method - 呼び出すメソッドの単純な名前。String に強制変換されます。
        paramTypes - メソッドの仮パラメーター型を宣言された順序で識別する Class オブジェクトの配列。メソッドにパラメーターがない場合は、空の配列を使用します。null にすることができます。その場合、メソッドの仮パラメーターの型は不明であると見なされます。
        params - メソッドに渡すパラメーター。パラメーターがない場合は null
        戻り値:
        メソッド呼び出しの結果(メソッドに void 戻り値の型がある場合は null)。
        導入:
        Jakarta Expression Language 2.2
      • getType

        public ClassSE<?> getType​(ELContext context,
                                ObjectSE base,
                                ObjectSE property)
        特定の base および property について、オブジェクトが setValue(jakarta.el.ELContext, java.lang.Object, java.lang.Object, java.lang.Object) メソッドへの今後の呼び出しで value パラメーターとして渡されるのに受け入れられる最も一般的な型を識別しようとします。結果は、すべてのコンポーネントリゾルバーをクエリすることによって取得されます。

        このリゾルバーが指定された(ベース、プロパティ)ペアを処理する場合、戻る前に、リゾルバーによって ELContext オブジェクトの propertyResolved プロパティを true に設定する必要があります。このメソッドが呼び出された後、このプロパティが true でない場合、呼び出し元は戻り値を無視する必要があります。

        まず、提供されている ELContext で propertyResolved が false に設定されます。

        次に、このコンポジットの各コンポーネントリゾルバー:

        1. getType() メソッドが呼び出され、提供された contextbaseproperty が渡されます。
        2. ELContext の propertyResolved フラグが false の場合、反復が続行されます。
        3. そうでない場合、反復は停止し、コンポーネントリゾルバーは考慮されません。getType() によって返される値は、このメソッドによって返されます。

        どのコンポーネントリゾルバーもこの操作を実行できなかった場合、値 null が返され、propertyResolved フラグは false に設定されたままになります。

        反復中にコンポーネントリゾルバーによってスローされた例外は、このメソッドの呼び出し元に伝達されます。

        次で指定:
        クラス ELResolvergetType 
        パラメーター:
        context - この評価のコンテキスト。
        base - プロパティ値を分析するベースオブジェクト、またはトップレベル変数を分析する null
        property - 受け入れ可能な型を返すプロパティまたは変数。
        戻り値:
        ELContext の propertyResolved プロパティが true に設定された場合、プロパティまたはリゾルバーが読み取り専用の場合、最も一般的に受け入れられる型は null でなければなりません。それ以外は未定義
        例外:
        NullPointerExceptionSE - コンテキストが null の場合
        PropertyNotFoundException - 指定された(ベース、プロパティ)のペアがこの ELResolver によって処理されましたが、指定された変数またはプロパティが存在しないか、読み取りできない場合。
        ELException - プロパティまたは変数の解決の実行中に例外がスローされた場合。スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。
      • setValue

        public void setValue​(ELContext context,
                             ObjectSE base,
                             ObjectSE property,
                             ObjectSE val)
        指定された base オブジェクトに指定された property オブジェクトの値を設定しようとします。すべてのコンポーネントリゾルバーは、値を設定するように求められます。

        このリゾルバーが指定された(ベース、プロパティ)ペアを処理する場合、戻る前に、リゾルバーによって ELContext オブジェクトの propertyResolved プロパティを true に設定する必要があります。このメソッドが呼び出された後、このプロパティが true でない場合、呼び出し元は値が設定されていないと安全に想定できます。

        まず、提供されている ELContext で propertyResolved が false に設定されます。

        次に、このコンポジットの各コンポーネントリゾルバー:

        1. setValue() メソッドが呼び出され、提供された contextbasepropertyvalue が渡されます。
        2. ELContext の propertyResolved フラグが false の場合、反復が続行されます。
        3. それ以外の場合、反復は停止し、これ以上コンポーネントリゾルバーは考慮されません。

        どのコンポーネントリゾルバーもこの操作を実行できなかった場合、propertyResolved フラグは false に設定されたままになります。

        反復中にコンポーネントリゾルバーによってスローされた例外は、このメソッドの呼び出し元に伝達されます。

        次で指定:
        クラス ELResolversetValue 
        パラメーター:
        context - この評価のコンテキスト。
        base - プロパティ値を設定する基本オブジェクト、またはトップレベル変数を設定する null
        property - 設定するプロパティまたは変数。
        val - プロパティまたは変数に設定する値。
        例外:
        NullPointerExceptionSE - コンテキストが null の場合
        PropertyNotFoundException - 指定された(ベース、プロパティ)ペアがこの ELResolver によって処理されたが、指定された変数またはプロパティが存在しない場合
        PropertyNotWritableException - 指定された(ベース、プロパティ)ペアがこの ELResolver で処理されているが、指定された変数またはプロパティが書き込み可能でない場合
        ELException - プロパティまたは変数を設定しようとしたときに例外がスローされた場合。スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。
      • isReadOnly

        public boolean isReadOnly​(ELContext context,
                                  ObjectSE base,
                                  ObjectSE property)
        特定の base および property について、setValue(jakarta.el.ELContext, java.lang.Object, java.lang.Object, java.lang.Object) の呼び出しが常に失敗するかどうかを判断しようとします。結果は、すべてのコンポーネントリゾルバーをクエリすることによって取得されます。

        このリゾルバーが指定された(ベース、プロパティ)ペアを処理する場合、戻る前に、リゾルバーによって ELContext オブジェクトの propertyResolved プロパティを true に設定する必要があります。このメソッドが呼び出された後、このプロパティが true でない場合、呼び出し元は戻り値を無視する必要があります。

        まず、提供されている ELContext で propertyResolved が false に設定されます。

        次に、このコンポジットの各コンポーネントリゾルバー:

        1. isReadOnly() メソッドが呼び出され、提供された contextbaseproperty が渡されます。
        2. ELContext の propertyResolved フラグが false の場合、反復が続行されます。
        3. そうでない場合、反復は停止し、コンポーネントリゾルバーは考慮されません。isReadOnly() によって返される値は、このメソッドによって返されます。

        どのコンポーネントリゾルバーもこの操作を実行できなかった場合、値 false が返され、propertyResolved フラグは false に設定されたままになります。

        .

        反復中にコンポーネントリゾルバーによってスローされた例外は、このメソッドの呼び出し元に伝達されます。

        次で指定:
        クラス ELResolverisReadOnly 
        パラメーター:
        context - この評価のコンテキスト。
        base - プロパティ値を分析するベースオブジェクト、またはトップレベル変数を分析する null
        property - 読み取り専用ステータスを返すプロパティまたは変数。
        戻り値:
        ELContext の propertyResolved プロパティが true に設定されている場合、プロパティが読み取り専用の場合は true、そうでない場合は false。それ以外は未定義。
        例外:
        NullPointerExceptionSE - コンテキストが null の場合
        PropertyNotFoundException - 指定された(ベース、プロパティ)ペアがこの ELResolver によって処理されたが、指定された変数またはプロパティが存在しない場合
        ELException - プロパティまたは変数の解決の実行中に例外がスローされた場合。スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。
      • getFeatureDescriptors

        @DeprecatedSE(forRemoval=true,
                    since="5.0")
        public IteratorSE<FeatureDescriptorSE> getFeatureDescriptors​(ELContext context,
                                                                 ObjectSE base)
        非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
        このメソッドは、EL 6.0 で代替され削除されます
        指定された base オブジェクトに対して解決できる変数またはプロパティのセットに関する情報を返します。この方法の 1 つの用途は、ツールが自動補完を支援することです。結果は、すべてのコンポーネントリゾルバーから収集されます。

        ELContext の propertyResolved プロパティは、このメソッドには関係ありません。すべての ELResolver の結果が連結されます。

        返される Iterator は、各コンポーネントリゾルバーの getFeatureDescriptors メソッドによって返されるイテレーターによって返される FeatureDescriptor オブジェクトのコレクションに対するイテレーターです。null がリゾルバーによって返された場合、スキップされます。

        オーバーライド:
        クラス ELResolvergetFeatureDescriptors 
        パラメーター:
        context - この評価のコンテキスト。
        base - 有効なプロパティのセットが列挙される基本オブジェクト、またはこのリゾルバーが評価できるトップレベルの変数のセットを列挙する null
        戻り値:
        FeatureDescriptor オブジェクトを 0 個以上(場合によっては無限に多く)含む Iterator、またはこのリゾルバーが与えられた base オブジェクトを処理できない場合や、このメソッドで表現するには結果が複雑すぎる場合は null
        関連事項:
        FeatureDescriptorSE
      • getCommonPropertyType

        public ClassSE<?> getCommonPropertyType​(ELContext context,
                                              ObjectSE base)
        base オブジェクトを指定して、このリゾルバーが property 引数に対して受け入れる最も一般的な型を返します。この方法の 1 つの用途は、ツールが自動補完を支援することです。結果は、すべてのコンポーネントリゾルバーをクエリすることによって取得されます。

        返される Class は、各コンポーネントリゾルバーの getCommonPropertyType メソッドによって返されるすべてのクラスの共通スーパークラスである最も具象クラスです。null がリゾルバーによって返された場合、スキップされます。

        次で指定:
        クラス ELResolvergetCommonPropertyType 
        パラメーター:
        context - この評価のコンテキスト。
        base - 最も一般的なプロパティ型を返す基本オブジェクト、またはこのリゾルバーが評価できるトップレベルの変数のセットを列挙する null
        戻り値:
        この ELResolver が指定された base オブジェクトの処理方法を認識していない場合は null。それ以外の型の property が受け入れられる場合は Object.class。それ以外の場合は、指定された base で受け入れられる最も一般的な property 型。
      • convertToType

        public <T> T convertToType​(ELContext context,
                                   ObjectSE obj,
                                   ClassSE<T> targetType)
        オブジェクトを特定の型に変換します。

        変換中にエラーが発生すると、ELException がスローされます。

        オーバーライド:
        クラス ELResolverconvertToType 
        パラメーター:
        context - この評価のコンテキスト。
        obj - 変換するオブジェクト。
        targetType - 変換のターゲット型。
        戻り値:
        targetType に変換されたオブジェクト
        例外:
        ELException - エラーが発生した場合にスローされます。
        導入:
        Jakarta Expression Language 3.0