パッケージ jakarta.el

クラス ResourceBundleELResolver


  • public class ResourceBundleELResolver
    extends ELResolver
    ResourceBundleSE のインスタンスのプロパティ解決動作を定義します。

    このリゾルバーは、型 java.util.ResourceBundle のベースオブジェクトを処理します。任意のオブジェクトをプロパティとして受け入れ、ResourceBundle.getObject(java.lang.String)SE を呼び出すために java.lang.String に強制します。

    このリゾルバーは読み取り専用であり、setValue が呼び出されると PropertyNotWritableException をスローします。

    ELResolverCompositeELResolver を使用して組み合わされ、式を評価するための豊富なセマンティクスを定義します。詳細については、ELResolver の javadoc を参照してください。

    導入:
    Jakarta Server Pages 2.1
    関連事項:
    CompositeELResolver, ELResolver, ResourceBundleSE
    • コンストラクターの詳細

      • ResourceBundleELResolver

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

      • getValue

        public ObjectSE getValue​(ELContext context,
                               ObjectSE base,
                               ObjectSE property)
        ベースオブジェクトが ResourceBundle のインスタンスである場合、提供されたプロパティは最初に String に強制変換されます。ベース ResourceBundle 上の getObject によって返される Object が返されます。

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

        次で指定:
        クラス ELResolvergetValue 
        パラメーター:
        context - この評価のコンテキスト。
        base - 分析する ResourceBundle。
        property - 分析するプロパティの名前。String に強制変換されます。
        戻り値:
        ELContext の propertyResolved プロパティが true に設定されている場合、プロパティが null の場合は null ; それ以外の場合は、ResourceBundle からの指定されたキー(String に強制変換されたプロパティ)の Object。指定されたキーのオブジェクトが見つからない場合は、String "???" + キー + "???"。
        例外:
        NullPointerExceptionSE - コンテキストが null の場合
        ELException - プロパティまたは変数の解決の実行中に例外がスローされた場合。スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。
      • getType

        public ClassSE<?> getType​(ELContext context,
                                ObjectSE base,
                                ObjectSE property)
        ベースオブジェクトが ResourceBundle のインスタンスである場合、リゾルバーは読み取り専用であるため、null を返します。

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

        次で指定:
        クラス ELResolvergetType 
        パラメーター:
        context - この評価のコンテキスト。
        base - 分析する ResourceBundle。
        property - 分析するプロパティの名前。
        戻り値:
        ELContext の propertyResolved プロパティが true に設定されている場合、null です。それ以外は未定義。
        例外:
        NullPointerExceptionSE - コンテキストが null の場合
      • setValue

        public void setValue​(ELContext context,
                             ObjectSE base,
                             ObjectSE property,
                             ObjectSE value)
        ベースオブジェクトが ResourceBundle の場合、PropertyNotWritableException をスローします。
        次で指定:
        クラス ELResolversetValue 
        パラメーター:
        context - この評価のコンテキスト。
        base - 変更される ResourceBundle。型 ResourceBundle のベースのみが処理されます。
        property - 使用する String プロパティ。
        value - 設定する値。
        例外:
        NullPointerExceptionSE - コンテキストが null の場合。
        PropertyNotWritableException - base が ReasourceBundle のインスタンスである場合、常にスローされます。
      • isReadOnly

        public boolean isReadOnly​(ELContext context,
                                  ObjectSE base,
                                  ObjectSE property)
        ベースオブジェクトが null でなく、instanceof ResourceBundleSE の場合は、true を返します。
        次で指定:
        クラス ELResolverisReadOnly 
        パラメーター:
        context - この評価のコンテキスト。
        base - 変更される ResourceBundle。型 ResourceBundle のベースのみが処理されます。
        property - 使用する String プロパティ。
        戻り値:
        ELContext の propertyResolved プロパティが true に設定されている場合、true です。それ以外は未定義。
        例外:
        NullPointerExceptionSE - コンテキストが null の場合
      • getFeatureDescriptors

        @DeprecatedSE(forRemoval=true,
                    since="5.0")
        public IteratorSE<FeatureDescriptorSE> getFeatureDescriptors​(ELContext context,
                                                                 ObjectSE base)
        非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
        このメソッドは、EL 6.0 では代替なしで削除されます
        ベースオブジェクトが ResourceBundle の場合、ResourceBundle で使用可能なキーのセットを含む Iterator を返します。それ以外の場合は、null を返します。

        返される Iterator には、FeatureDescriptorSE のインスタンスが 0 個以上含まれている必要があります。各情報オブジェクトには、ResourceBundle のキーに関する情報が含まれており、次のように初期化されます。

        • displayName - String キー
        • name - displayName プロパティと同じです。
        • shortDescription - 空の文字列
        • 専門家 - false
        • 隠された - false
        • 優先 - true
        さらに、返される FeatureDescriptor には、次の名前付き属性を設定する必要があります。
        オーバーライド:
        クラス ELResolvergetFeatureDescriptors 
        パラメーター:
        context - この評価のコンテキスト。
        base - キーが繰り返されるバンドル。型 ResourceBundle のベースのみがこのリゾルバーによって処理されます。
        戻り値:
        それぞれがこのバンドル内のキーを表す 0 個以上(場合によっては無限に多い)の FeatureDescriptor オブジェクトを含む Iterator、またはベースオブジェクトが ResourceBundle でない場合は null
        関連事項:
        FeatureDescriptorSE
      • getCommonPropertyType

        public ClassSE<?> getCommonPropertyType​(ELContext context,
                                              ObjectSE base)
        ベースオブジェクトが ResourceBundle の場合、このリゾルバーが property 引数に対して受け入れる最も一般的な型を返します。それ以外の場合は、null を返します。

        ベースが ResourceBundle であるとすると、このメソッドは常に String.class を返します。

        次で指定:
        クラス ELResolvergetCommonPropertyType 
        パラメーター:
        context - この評価のコンテキスト。
        base - 分析するバンドル。型 ResourceBundle のベースのみがこのリゾルバーによって処理されます。
        戻り値:
        ベースが ResourceBundle でない場合は null。それ以外の場合は String.class