パッケージ jakarta.el

クラス BeanNameELResolver

java.lang.ObjectSE
jakarta.el.ELResolver
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 - プロパティまたは変数の解決の実行中に例外がスローされた場合。スローされた例外は、可能であれば、この例外の原因プロパティとして含める必要があります。
    • getCommonPropertyType

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