クラス 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) 指定されたSupplier
SE によって作成された値を、評価コンテキスト内の名前付き変数に割り当てます。convertValue
(ObjectSE value, TypeDescriptor targetTypeDescriptor) convertValue
(TypedValue value, TypeDescriptor targetTypeDescriptor) void
新しいルートコンテキストオブジェクトと新しいローカル変数スコープを使用して新しいスコープを入力します。void
enterScope
(StringSE name, ObjectSE value) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。6.2 時点では代替なし。7.0 で削除予定void
enterScope
(MapSE<StringSE, ObjectSE> variables) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。6.2 時点では代替なし。7.0 で削除予定void
ClassSE<?>
アクティブなコンテキストオブジェクトは、プロパティなどへの修飾されていない参照が解決される対象です。lookupLocalVariable
(StringSE name) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。6.2 時点では代替なし。7.0 で削除予定lookupVariable
(StringSE name) 評価コンテキストで名前付きグローバル変数を検索します。void
void
void
setLocalVariable
(StringSE name, ObjectSE value) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。6.2 時点では代替なし。7.0 で削除予定void
setVariable
(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
指定されたSupplier
SE によって作成された値を、評価コンテキスト内の名前付き変数に割り当てます。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