public interface PropertyAccessor
このインターフェースは制限を課さないため、実装者はフィールドとして、または getter を介して、または適切と思われる他の方法で、プロパティに直接アクセスできます。
リゾルバーはオプションで、それを呼び出す必要があるターゲットクラスの配列を指定できます。ただし、getSpecificTargetClasses()
から null
を返す場合は、すべてのプロパティ参照に対して呼び出され、読み書きできるかどうかを判断する機会が与えられます。
プロパティリゾルバーは順序付けされていると見なされ、それぞれが順番に呼び出されます。呼び出し順序に影響を与える唯一のルールは、getSpecificTargetClasses()
で直接ターゲットクラスに名前を付けるリゾルバーが、一般的なリゾルバーの前に最初に呼び出されることです。
修飾子と型 | メソッドと説明 |
---|---|
boolean | canRead(EvaluationContext context, ObjectSE target, StringSE name) リゾルバーインスタンスが指定されたターゲットオブジェクトの指定されたプロパティにアクセスできるかどうかを判断するために呼び出されます。 |
boolean | canWrite(EvaluationContext context, ObjectSE target, StringSE name) リゾルバーインスタンスが指定されたターゲットオブジェクトの指定されたプロパティに書き込むことができるかどうかを判断するために呼び出されます。 |
ClassSE<?>[] | getSpecificTargetClasses() このリゾルバーが呼び出されるクラスの配列を返します。 |
TypedValue | read(EvaluationContext context, ObjectSE target, StringSE name) 指定されたターゲットオブジェクトからプロパティを読み取るために呼び出されます。 |
void | write(EvaluationContext context, ObjectSE target, StringSE name, ObjectSE newValue) 指定されたターゲットオブジェクトのプロパティに書き込むために呼び出されます。 |
@Nullable ClassSE<?>[] getSpecificTargetClasses()
null
を返すことは、これが一般的なリゾルバーであり、任意の型のプロパティを解決するために呼び出すことができることを示します。
null
)boolean canRead(EvaluationContext context, @Nullable ObjectSE target, StringSE name) throws AccessException
context
- アクセスが試行されている評価コンテキスト target
- プロパティがアクセスされるターゲットオブジェクト name
- アクセスされるプロパティの名前 AccessException
- プロパティを読み取ることができるかどうかを判断する際に問題がある場合 TypedValue read(EvaluationContext context, @Nullable ObjectSE target, StringSE name) throws AccessException
canRead(org.springframework.expression.EvaluationContext, java.lang.Object, java.lang.String)
も true
を返す場合にのみ成功します。context
- アクセスが試行されている評価コンテキスト target
- プロパティがアクセスされるターゲットオブジェクト name
- アクセスされるプロパティの名前 AccessException
- プロパティ値へのアクセスに問題がある場合 boolean canWrite(EvaluationContext context, @Nullable ObjectSE target, StringSE name) throws AccessException
context
- アクセスが試行されている評価コンテキスト target
- プロパティがアクセスされるターゲットオブジェクト name
- アクセスされるプロパティの名前 AccessException
- プロパティを書き込むことができるかどうかを判断する際に問題がある場合 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
- プロパティ値への書き込みに問題がある場合