クラス MapAccessor

java.lang.ObjectSE
org.springframework.context.expression.MapAccessor
実装されたすべてのインターフェース:
OpcodesPropertyAccessorCompilablePropertyAccessor

public class MapAccessor extends ObjectSE implements CompilablePropertyAccessor
標準 MapSE のキーをトラバースする方法を知っている EL プロパティアクセサー。
導入:
3.0
作成者:
Juergen Hoeller, Andy Clement
  • コンストラクターの詳細

    • MapAccessor

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

    • getSpecificTargetClasses

      public ClassSE<?>[] getSpecificTargetClasses()
      インターフェースからコピーされた説明: PropertyAccessor
      このリゾルバーが呼び出されるクラスの配列を返します。

      null を返すことは、これが一般的なリゾルバーであり、任意の型のプロパティを解決するために呼び出すことができることを示します。

      次で指定:
      インターフェース PropertyAccessorgetSpecificTargetClasses 
      戻り値:
      このリゾルバーが適しているクラスの配列 (または一般的なリゾルバーの場合は null )
    • canRead

      public boolean canRead(EvaluationContext context, @Nullable ObjectSE target, StringSE name) throws AccessException
      インターフェースからコピーされた説明: PropertyAccessor
      リゾルバーインスタンスが指定されたターゲットオブジェクトの指定されたプロパティにアクセスできるかどうかを判断するために呼び出されます。
      次で指定:
      インターフェース PropertyAccessorcanRead 
      パラメーター:
      context - アクセスが試行されている評価コンテキスト
      target - プロパティがアクセスされるターゲットオブジェクト
      name - アクセスされるプロパティの名前
      戻り値:
      このリゾルバーがプロパティを読み取れる場合は true
      例外:
      AccessException - プロパティを読み取ることができるかどうかを判断する際に問題がある場合
    • read

      public TypedValue read(EvaluationContext context, @Nullable ObjectSE target, StringSE name) throws AccessException
      インターフェースからコピーされた説明: PropertyAccessor
      指定されたターゲットオブジェクトからプロパティを読み取るために呼び出されます。PropertyAccessor.canRead(org.springframework.expression.EvaluationContext, java.lang.Object, java.lang.String) も true を返す場合にのみ成功します。
      次で指定:
      インターフェース PropertyAccessorread 
      パラメーター:
      context - アクセスが試行されている評価コンテキスト
      target - プロパティがアクセスされるターゲットオブジェクト
      name - アクセスされるプロパティの名前
      戻り値:
      読み込まれたプロパティ値とその型記述子をラップする TypedValue オブジェクト
      例外:
      AccessException - プロパティ値へのアクセスに問題がある場合
    • canWrite

      public boolean canWrite(EvaluationContext context, @Nullable ObjectSE target, StringSE name) throws AccessException
      インターフェースからコピーされた説明: PropertyAccessor
      リゾルバーインスタンスが指定されたターゲットオブジェクトの指定されたプロパティに書き込むことができるかどうかを判断するために呼び出されます。
      次で指定:
      インターフェース PropertyAccessorcanWrite 
      パラメーター:
      context - アクセスが試行されている評価コンテキスト
      target - プロパティがアクセスされるターゲットオブジェクト
      name - アクセスされるプロパティの名前
      戻り値:
      このリゾルバーがプロパティに書き込むことができる場合は true
      例外:
      AccessException - プロパティを書き込むことができるかどうかを判断する際に問題がある場合
    • write

      public void write(EvaluationContext context, @Nullable ObjectSE target, StringSE name, @Nullable ObjectSE newValue) throws AccessException
      インターフェースからコピーされた説明: PropertyAccessor
      指定されたターゲットオブジェクトのプロパティに書き込むために呼び出されます。PropertyAccessor.canWrite(org.springframework.expression.EvaluationContext, java.lang.Object, java.lang.String) も true を返す場合にのみ成功します。
      次で指定:
      インターフェース PropertyAccessorwrite 
      パラメーター:
      context - アクセスが試行されている評価コンテキスト
      target - プロパティがアクセスされるターゲットオブジェクト
      name - アクセスされるプロパティの名前
      newValue - プロパティの新しい値
      例外:
      AccessException - プロパティ値への書き込みに問題がある場合
    • isCompilable

      public boolean isCompilable()
      インターフェースからコピーされた説明: CompilablePropertyAccessor
      このプロパティアクセサーが現在コンパイルに適している場合は、true を返します。
      次で指定:
      インターフェース CompilablePropertyAccessorisCompilable 
    • getPropertyType

      public ClassSE<?> getPropertyType()
      インターフェースからコピーされた説明: CompilablePropertyAccessor
      アクセスされたプロパティの型を返します。アクセスが発生した場合にのみ知ることができます。
      次で指定:
      インターフェース CompilablePropertyAccessorgetPropertyType 
    • generateCode

      public void generateCode(StringSE propertyName, MethodVisitor mv, CodeFlow cf)
      インターフェースからコピーされた説明: CompilablePropertyAccessor
      バイトコードを生成し、必要に応じて CodeFlow からのコンテキスト情報を使用して、指定された MethodVisitor へのアクセス操作を実行します。
      次で指定:
      インターフェース CompilablePropertyAccessorgenerateCode 
      パラメーター:
      propertyName - プロパティの名前
      mv - コードが生成される ASM メソッドのビジター
      cf - 式コンパイラーの現在の状態