インターフェース EvaluationContext
public interface EvaluationContext
式は評価コンテキストで実行されます。式の評価中に参照が検出されると、参照が解決されます。
このインターフェースには 2 つのデフォルト実装があります。
SimpleEvaluationContext: 必要に応じて複数の SpEL 機能を選択できる、データバインディング用のよりシンプルなビルダースタイルのEvaluationContextバリアント。StandardEvaluationContext: すべてを手動で実装するのではなく、拡張可能な、強力で高度に構成可能なEvaluationContext実装。
- 導入:
- 3.0
- 作成者:
- Andy Clement, Juergen Hoeller, Sam Brannen
メソッドのサマリー
修飾子と型メソッド説明default TypedValueassignVariable(StringSE name, SupplierSE<TypedValue> valueSupplier) 指定されたSupplierSE によって作成された値を、この評価コンテキスト内の名前付き変数に割り当てます。名前で Bean を検索できる Bean リゾルバーを返します。コンストラクターを見つけるために順番に尋ねられるリゾルバーのリストを返します。メソッドを見つけるために順番に要求されるリゾルバーのリストを返します。標準の型のセット以外のものの間の数学演算をサポートする可能性のある演算子オーバーローダーを返します。プロパティの読み取り / 書き込みを順番に要求されるアクセサーのリストを返します。修飾されていないプロパティ / メソッド / その他を解決する必要があるデフォルトのルートコンテキストオブジェクトを返します。オブジェクトのペアが等しいかどうかを比較するための型コンパレータを返します。値をある型から別の型に変換(または強制)できる型コンバーターを返します。短い名前または完全修飾名で型を検索するために使用できる型ロケーターを返します。default booleanこの評価コンテキストによって評価される式内で割り当てが有効になっているかどうかを判断します。lookupVariable(StringSE name) この評価コンテキスト内の名前付き変数を検索します。voidsetVariable(StringSE name, ObjectSE value) この評価コンテキストの名前付き変数を指定された値に設定します。
メソッドの詳細
getRootObject
TypedValue getRootObject()修飾されていないプロパティ / メソッド / その他を解決する必要があるデフォルトのルートコンテキストオブジェクトを返します。これは、式を評価するときにオーバーライドできます。getPropertyAccessors
ListSE<PropertyAccessor> getPropertyAccessors()プロパティの読み取り / 書き込みを順番に要求されるアクセサーのリストを返します。getConstructorResolvers
ListSE<ConstructorResolver> getConstructorResolvers()コンストラクターを見つけるために順番に尋ねられるリゾルバーのリストを返します。getMethodResolvers
ListSE<MethodResolver> getMethodResolvers()メソッドを見つけるために順番に要求されるリゾルバーのリストを返します。getBeanResolver
名前で Bean を検索できる Bean リゾルバーを返します。getTypeLocator
TypeLocator getTypeLocator()短い名前または完全修飾名で型を検索するために使用できる型ロケーターを返します。getTypeConverter
TypeConverter getTypeConverter()値をある型から別の型に変換(または強制)できる型コンバーターを返します。getTypeComparator
TypeComparator getTypeComparator()オブジェクトのペアが等しいかどうかを比較するための型コンパレータを返します。getOperatorOverloader
OperatorOverloader getOperatorOverloader()標準の型のセット以外のものの間の数学演算をサポートする可能性のある演算子オーバーローダーを返します。assignVariable
指定されたSupplierSE によって作成された値を、この評価コンテキスト内の名前付き変数に割り当てます。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