インターフェース PropertyAccessor

すべての既知のサブインターフェース:
CompilablePropertyAccessor
すべての既知の実装クラス:
BeanExpressionContextAccessorBeanFactoryAccessorDataBindingPropertyAccessorEnvironmentAccessorMapAccessorReflectivePropertyAccessorReflectivePropertyAccessor.OptimalPropertyAccessor

public interface PropertyAccessor
プロパティアクセサーは、オブジェクトのプロパティから読み取る(および場合によっては書き込む)ことができます。

このインターフェースは制限を課さないため、実装者はフィールドとして、または getter を介して、または適切と思われる他の方法で、プロパティに直接アクセスできます。

リゾルバーはオプションで、それを呼び出す必要があるターゲットクラスの配列を指定できます。ただし、getSpecificTargetClasses() から null を返す場合は、すべてのプロパティ参照に対して呼び出され、読み書きできるかどうかを判断する機会が与えられます。

プロパティリゾルバーは順序付けされていると見なされ、それぞれが順番に呼び出されます。呼び出し順序に影響を与える唯一のルールは、getSpecificTargetClasses() で直接ターゲットクラスに名前を付けるリゾルバーが、一般的なリゾルバーの前に最初に呼び出されることです。

導入:
3.0
作成者:
Andy Clement
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    boolean
    リゾルバーインスタンスが指定されたターゲットオブジェクトの指定されたプロパティにアクセスできるかどうかを判断するために呼び出されます。
    boolean
    リゾルバーインスタンスが指定されたターゲットオブジェクトの指定されたプロパティに書き込むことができるかどうかを判断するために呼び出されます。
    ClassSE<?>[]
    このリゾルバーが呼び出されるクラスの配列を返します。
    read(EvaluationContext context, ObjectSE target, StringSE name)
    指定されたターゲットオブジェクトからプロパティを読み取るために呼び出されます。
    void
    write(EvaluationContext context, ObjectSE target, StringSE name, ObjectSE newValue)
    指定されたターゲットオブジェクトのプロパティに書き込むために呼び出されます。
  • メソッドの詳細

    • getSpecificTargetClasses

      @Nullable ClassSE<?>[] getSpecificTargetClasses()
      このリゾルバーが呼び出されるクラスの配列を返します。

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

      戻り値:
      このリゾルバーが適しているクラスの配列 (または一般的なリゾルバーの場合は null )
    • canRead

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

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

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

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