パッケージ jakarta.el

クラス BeanNameELResolver


  • public class BeanNameELResolver
    extends ELResolver

    ユーザーまたはコンテナー管理 Bean を解決するための ELResolver

    BeanNameResolver は、適切に動作するために必要です。次の例では、"Bean" という名前を MyBean のインスタンスに解決する ELResolver を作成します。

     
     ELResovler elr = new BeanNameELResolver(new BeanNameResolver {
        public boolean isNameResolved(String beanName) {
           return "bean".equals(beanName);
        }
        public Object getBean(String beanName) {
           return "bean".equals(beanName)? new MyBean(): null;
        }
     });
     
     
    導入:
    Jakarta Expression Language 3.0
    • コンストラクターの詳細

      • BeanNameELResolver

        public BeanNameELResolver​(BeanNameResolver beanNameResolver)
        コンストラクター
        パラメーター:
        beanNameResolver - Bean 名を解決する BeanNameResolver
    • メソッドの詳細

      • getValue

        public ObjectSE getValue​(ELContext context,
                               ObjectSE base,
                               ObjectSE property)
        ベースオブジェクトが null であり、プロパティが BeanNameResolver によって解決可能な名前である場合、BeanNameResolver によって解決された値を返します。

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

        次で指定:
        クラス ELResolvergetValue 
        パラメーター:
        context - この評価のコンテキスト。
        base - null
        property - Bean の名前。
        戻り値:
        ELContext の propertyResolved プロパティが true に設定されている場合、指定された名前の Bean の値。それ以外の場合は未定義です。
        例外:
        NullPointerExceptionSE - コンテキストが null の場合。
        ELException - プロパティまたは変数の解決の実行中に例外がスローされた場合。スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。
      • setValue

        public void setValue​(ELContext context,
                             ObjectSE base,
                             ObjectSE property,
                             ObjectSE value)
        ベースが null で、プロパティが BeanNameResolver によって解決可能な名前である場合、BeanNameResolver の Bean は指定された値に設定されます。

        名前が BeanNameResolver によって解決可能である場合、または BeanNameResolver が新しい Bean の作成を許可する場合、ELContext オブジェクトの propertyResolved プロパティは、戻る前にリゾルバーによって true に設定される必要があります。このメソッドが呼び出された後、このプロパティが true でない場合、呼び出し元は値が設定されていないと安全に想定できます。

        次で指定:
        クラス ELResolversetValue 
        パラメーター:
        context - この評価のコンテキスト。
        base - null
        property - Bean の名前
        value - 指定された名前の Bean を設定する値。
        例外:
        NullPointerExceptionSE - コンテキストが null の場合
        PropertyNotWritableException - BeanNameResolver で Bean の変更が許可されていない場合。
        ELException - 指定された名前で Bean を設定しようとしたときに例外がスローされた場合。スローされた例外は、可能な場合、この例外の原因プロパティとして含める必要があります。
      • getType

        public ClassSE<?> getType​(ELContext context,
                                ObjectSE base,
                                ObjectSE property)
        ベースが null で、プロパティが BeanNameResolver で解決可能な名前である場合は、Bean の型を返します。

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

        次で指定:
        クラス ELResolvergetType 
        パラメーター:
        context - この評価のコンテキスト。
        base - null
        property - Bean の名前。
        戻り値:
        ELContext の propertyResolved プロパティが true に設定され、関連付けられた BeanNameResolver が読み取り専用でない場合、指定された名前の Bean の型。指定された Bean 名が解決されましたが、関連付けられた BeanNameResolver が読み取り専用の場合、null。それ以外の場合は未定義。
        例外:
        NullPointerExceptionSE - コンテキストが null の場合。
        ELException - プロパティまたは変数の解決の実行中に例外がスローされた場合。スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。
      • isReadOnly

        public boolean isReadOnly​(ELContext context,
                                  ObjectSE base,
                                  ObjectSE property)
        ベースが null で、プロパティが BeanNameResolver によって解決可能な名前である場合、Bean が書き込み可能かどうかを判別しようとします。

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

        次で指定:
        クラス ELResolverisReadOnly 
        パラメーター:
        context - この評価のコンテキスト。
        base - null
        property - Bean の名前。
        戻り値:
        ELContext の propertyResolved プロパティが true に設定されている場合、プロパティが読み取り専用の場合は true、そうでない場合は false。それ以外は未定義。
        例外:
        NullPointerExceptionSE - コンテキストが null の場合。
        ELException - プロパティまたは変数の解決の実行中に例外がスローされた場合。スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。
      • getFeatureDescriptors

        @DeprecatedSE(forRemoval=true,
                    since="5.0")
        public IteratorSE<FeatureDescriptorSE> getFeatureDescriptors​(ELContext context,
                                                                 ObjectSE base)
        非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
        このメソッドは、EL 6.0 では代替なしで削除されます
        Bean 名という 1 つの要素のリストを反復処理する理由がないため、常に null を返します。
        オーバーライド:
        クラス ELResolvergetFeatureDescriptors 
        パラメーター:
        context - この評価のコンテキスト。
        base - null.
        戻り値:
        null.
        関連事項:
        FeatureDescriptorSE
      • getCommonPropertyType

        public ClassSE<?> getCommonPropertyType​(ELContext context,
                                              ObjectSE base)
        Bean 名は文字列であるため、常に String.class を返します。
        次で指定:
        クラス ELResolvergetCommonPropertyType 
        パラメーター:
        context - この評価のコンテキスト。
        base - null.
        戻り値:
        String.class.