インターフェース EvaluationContext
public interface EvaluationContext
式は評価コンテキストで実行されます。式の評価中に参照が検出されると、参照が解決されます。
このインターフェースには 2 つのデフォルト実装があります。
SimpleEvaluationContext
: 必要に応じて複数の SpEL 機能を選択できる、データバインディング用のよりシンプルなビルダースタイルのEvaluationContext
バリアント。StandardEvaluationContext
: すべてを手動で実装するのではなく、拡張可能な、強力で高度に構成可能なEvaluationContext
実装。
- 導入:
- 3.0
- 作成者:
- Andy Clement, Juergen Hoeller, Sam Brannen
方法の概要
修飾子と型メソッド説明default TypedValue
assignVariable
(StringSE name, SupplierSE<TypedValue> valueSupplier) 指定されたSupplier
SE によって作成された値を、この評価コンテキスト内の名前付き変数に割り当てます。名前で Bean を検索できる Bean リゾルバーを返します。default ListSE<ConstructorResolver>
コンストラクターを見つけるために順番に尋ねられるリゾルバーのリストを返します。default ListSE<IndexAccessor>
インデックス値にアクセスしたり設定したりするように要求されるインデックスアクセサーのリストを返します。default ListSE<MethodResolver>
メソッドを見つけるために順番に要求されるリゾルバーのリストを返します。標準の型のセット以外のものの間の数学演算をサポートする可能性のある演算子オーバーローダーを返します。default ListSE<PropertyAccessor>
プロパティの読み取り / 書き込みを順番に要求されるアクセサーのリストを返します。修飾されていないプロパティ、メソッドなどに対するデフォルトのルートコンテキストオブジェクトを返します。オブジェクトのペアが等しいかどうかを比較するための型コンパレータを返します。値をある型から別の型に変換(または強制)できる型コンバーターを返します。短い名前または完全修飾名で型を検索するために使用できる型ロケーターを返します。default boolean
この評価コンテキストによって評価される式内で割り当てが有効になっているかどうかを判断します。lookupVariable
(StringSE name) この評価コンテキスト内の名前付き変数を検索します。void
setVariable
(StringSE name, ObjectSE value) この評価コンテキストの名前付き変数を指定された値に設定します。
メソッドの詳細
getRootObject
TypedValue getRootObject()修飾されていないプロパティ、メソッドなどを解決するデフォルトのルートコンテキストオブジェクトを返します。これは、式を評価するときにオーバーライドできます。
getPropertyAccessors
プロパティの読み取り / 書き込みを順番に要求されるアクセサーのリストを返します。デフォルトの実装では空のリストが返されます。
getIndexAccessors
インデックス値にアクセスしたり設定したりするように要求されるインデックスアクセサーのリストを返します。デフォルトの実装では空のリストが返されます。
- 導入:
- 6.2
getConstructorResolvers
コンストラクターを見つけるために順番に尋ねられるリゾルバーのリストを返します。デフォルトの実装では空のリストが返されます。
getMethodResolvers
メソッドを見つけるために順番に要求されるリゾルバーのリストを返します。デフォルトの実装では空のリストが返されます。
getBeanResolver
名前で Bean を検索できる Bean リゾルバーを返します。getTypeLocator
TypeLocator getTypeLocator()短い名前または完全修飾名で型を検索するために使用できる型ロケーターを返します。getTypeConverter
TypeConverter getTypeConverter()値をある型から別の型に変換(または強制)できる型コンバーターを返します。getTypeComparator
TypeComparator getTypeComparator()オブジェクトのペアが等しいかどうかを比較するための型コンパレータを返します。getOperatorOverloader
OperatorOverloader getOperatorOverloader()標準の型のセット以外のものの間の数学演算をサポートする可能性のある演算子オーバーローダーを返します。assignVariable
指定されたSupplier
SE によって作成された値を、この評価コンテキスト内の名前付き変数に割り当てます。setVariable(String, Object)
とは対照的に、このメソッドは、式内で代入演算子 (=
) をサポートするためにのみ呼び出す必要があります。デフォルトでは、このメソッドは
setVariable(String, Object)
に委譲し、valueSupplier
によって作成された値を提供します。具体的な実装は、このデフォルトのメソッドをオーバーライドして、異なるセマンティクスを提供する場合があります。- パラメーター:
name
- 割り当てる変数の名前valueSupplier
- 変数に割り当てられる値のサプライヤー- 戻り値:
- 割り当てられた値をラップする
TypedValue
- 導入:
- 5.2.24
setVariable
この評価コンテキストの名前付き変数を指定された値に設定します。assignVariable(String, Supplier)
とは対照的に、このメソッドは、EvaluationContext
と直接対話する場合にのみプログラムで呼び出す必要があります。— たとえば、コンテキストの初期構成を提供します。- パラメーター:
name
- 設定する変数の名前value
- 変数に入れられる値- 関連事項:
lookupVariable
この評価コンテキスト内の名前付き変数を検索します。- パラメーター:
name
- 検索する変数の名前- 戻り値:
- 変数の値。見つからない場合は
null
isAssignmentEnabled
default boolean isAssignmentEnabled()この評価コンテキストによって評価される式内で割り当てが有効になっているかどうかを判断します。このメソッドが
false
を返す場合、代入 (=
)、増分 (++
)、および減分 (--
) 演算子は無効になります。デフォルトでは、このメソッドは
true
を返します。具体的な実装では、このデフォルトメソッドをオーバーライドして割り当てを無効にすることができます。- 戻り値:
- 割り当てが有効な場合は
true
、そうでない場合はfalse
- 導入:
- 5.3.38