クラス ExpressionState
java.lang.ObjectSE
org.springframework.expression.spel.ExpressionState
ExpressionState は、式ごとの評価状態を維持するためのものです。それに対する変更は他の式からは見えませんが、ローカル変数を保持する場所と、複合式のコンポーネント式が状態を伝達する場所を提供します。これは、式の評価間で共有される EvaluationContext とは対照的であり、それに対する変更は、他の式またはコンテキストの質問をすることを選択したコードによって見られます。
また、さまざまな AST ノードが必要とする共通のユーティリティルーチンを定義する場所としても機能します。
- 導入:
- 3.0
- 作成者:
- Andy Clement, Juergen Hoeller, Sam Brannen
コンストラクターの概要
コンストラクターコンストラクター説明ExpressionState(EvaluationContext context) ExpressionState(EvaluationContext context, SpelParserConfiguration configuration) ExpressionState(EvaluationContext context, TypedValue rootObject) ExpressionState(EvaluationContext context, TypedValue rootObject, SpelParserConfiguration configuration) メソッドのサマリー
修飾子と型メソッド説明assignVariable(StringSE name, SupplierSE<TypedValue> valueSupplier) 指定されたSupplierSE によって作成された値を、評価コンテキスト内の名前付き変数に割り当てます。convertValue(ObjectSE value, TypeDescriptor targetTypeDescriptor) convertValue(TypedValue value, TypeDescriptor targetTypeDescriptor) void新しいルートコンテキストオブジェクトと新しいローカル変数スコープを使用して新しいスコープを入力します。voidenterScope(StringSE name, ObjectSE value) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。6.2 時点では代替なし。7.0 で削除予定voidenterScope(MapSE<StringSE, ObjectSE> variables) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。6.2 時点では代替なし。7.0 で削除予定voidClassSE<?>アクティブなコンテキストオブジェクトは、プロパティなどへの修飾されていない参照が解決される対象です。lookupLocalVariable(StringSE name) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。6.2 時点では代替なし。7.0 で削除予定lookupVariable(StringSE name) 評価コンテキストで名前付きグローバル変数を検索します。voidvoidvoidsetLocalVariable(StringSE name, ObjectSE value) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。6.2 時点では代替なし。7.0 で削除予定voidsetVariable(StringSE name, ObjectSE value) 評価コンテキストの名前付き変数を指定された値に設定します。
コンストラクターの詳細
ExpressionState
ExpressionState
ExpressionState
ExpressionState
public ExpressionState(EvaluationContext context, TypedValue rootObject, SpelParserConfiguration configuration)
メソッドの詳細
getActiveContextObject
アクティブなコンテキストオブジェクトは、プロパティなどへの修飾されていない参照が解決される対象です。pushActiveContextObject
popActiveContextObject
public void popActiveContextObject()getRootContextObject
getScopeRootContextObject
assignVariable
指定されたSupplierSE によって作成された値を、評価コンテキスト内の名前付き変数に割り当てます。setVariable(String, Object)とは対照的に、このメソッドは、式内での割り当てをサポートするためにのみ呼び出す必要があります。- パラメーター:
name- 割り当てる変数の名前valueSupplier- 変数に割り当てられる値のサプライヤー- 戻り値:
- 割り当てられた値をラップする
TypedValue - 導入:
- 5.2.24
- 関連事項:
setVariable
評価コンテキストの名前付き変数を指定された値に設定します。assignVariable(String, Supplier)とは対照的に、このメソッドはプログラムでのみ呼び出す必要があります。- パラメーター:
name- 設定する変数の名前value- 変数に入れられる値- 関連事項:
lookupVariable
評価コンテキストで名前付きグローバル変数を検索します。- パラメーター:
name- 検索する変数の名前- 戻り値:
- 変数の値を含む
TypedValue、または変数が存在しない場合はTypedValue.NULL - 関連事項:
getTypeComparator
findType
getTypeConverter
convertValue
public ObjectSE convertValue(ObjectSE value, TypeDescriptor targetTypeDescriptor) throws EvaluationException convertValue
@Nullable public ObjectSE convertValue(TypedValue value, TypeDescriptor targetTypeDescriptor) throws EvaluationException enterScope
public void enterScope()新しいルートコンテキストオブジェクトと新しいローカル変数スコープを使用して新しいスコープを入力します。enterScope
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。6.2 時点では代替なし。7.0 で削除予定新しいルートコンテキストオブジェクトと、指定された名前 / 値のペアを含む新しいローカル変数スコープを使用して、新しいスコープを入力します。- パラメーター:
name- ローカル変数の名前value- ローカル変数の値
enterScope
@DeprecatedSE(since="6.2", forRemoval=true) public void enterScope(@Nullable MapSE<StringSE, ObjectSE> variables) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。6.2 時点では代替なし。7.0 で削除予定新しいルートコンテキストオブジェクトと、指定された名前 / 値のペアを含む新しいローカル変数スコープを使用して、新しいスコープを入力します。- パラメーター:
variables- ローカル変数の名前と値のペアを含むマップ
exitScope
public void exitScope()setLocalVariable
@DeprecatedSE(since="6.2", forRemoval=true) public void setLocalVariable(StringSE name, ObjectSE value) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。6.2 時点では代替なし。7.0 で削除予定指定された名前のローカル変数を現在のスコープ内の指定された値に設定します。指定された名前のローカル変数がすでに存在する場合は上書きされます。
- パラメーター:
name- ローカル変数の名前value- ローカル変数の値
lookupLocalVariable
@DeprecatedSE(since="6.2", forRemoval=true) @Nullable public ObjectSE lookupLocalVariable(StringSE name) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。6.2 時点では代替なし。7.0 で削除予定指定された名前のローカル変数の値を検索します。- パラメーター:
name- ローカル変数の名前- 戻り値:
- ローカル変数の値、または変数が現在のスコープ内に存在しない場合は
null
operate
public TypedValue operate(Operation op, @Nullable ObjectSE left, @Nullable ObjectSE right) throws EvaluationException getPropertyAccessors
getEvaluationContext
getConfiguration