クラス SpelExpression

java.lang.ObjectSE
org.springframework.expression.spel.standard.SpelExpression
実装されたすべてのインターフェース:
Expression

public class SpelExpression extends ObjectSE implements Expression
SpelExpression は、指定されたコンテキストで評価する準備ができている解析済み(有効)式を表します。式は、スタンドアロンまたは指定されたコンテキストで評価できます。式の評価中に、型、Bean、プロパティ、メソッドへの参照を解決するようコンテキストに要求される場合があります。
導入:
3.0
作成者:
Andy Clement, Juergen Hoeller, Sam Brannen
  • コンストラクターの詳細

  • メソッドの詳細

    • setEvaluationContext

      public void setEvaluationContext(EvaluationContext evaluationContext)
      評価呼び出しで何も指定されていない場合に使用される評価コンテキストを設定します。
      パラメーター:
      evaluationContext - 使用する評価コンテキスト
    • getEvaluationContext

      public EvaluationContext getEvaluationContext()
      評価呼び出しで何も指定されていない場合に使用されるデフォルトの評価コンテキストを返します。
      戻り値:
      デフォルトの評価コンテキスト
    • getExpressionString

      public StringSE getExpressionString()
      インターフェースからコピーされた説明: Expression
      この式の作成に使用された元の文字列を返します(変更なし)。
      次で指定:
      インターフェース ExpressiongetExpressionString 
      戻り値:
      元の式文字列
    • getValue

      @Nullable public ObjectSE getValue() throws EvaluationException
      インターフェースからコピーされた説明: Expression
      この式をデフォルトの標準コンテキストで評価します。
      次で指定:
      インターフェース ExpressiongetValue 
      戻り値:
      評価結果
      例外:
      EvaluationException - 評価中に問題が発生した場合
    • getValue

      @Nullable public <T> T getValue(@Nullable ClassSE<T> expectedResultType) throws EvaluationException
      インターフェースからコピーされた説明: Expression
      デフォルトのコンテキストで式を評価します。評価の結果が期待される結果型と一致しない(変換できない)場合は、例外が返されます。
      次で指定:
      インターフェース ExpressiongetValue 
      パラメーター:
      expectedResultType - 呼び出し元が結果を望むクラス
      戻り値:
      評価結果
      例外:
      EvaluationException - 評価中に問題が発生した場合
    • getValue

      @Nullable public ObjectSE getValue(@Nullable ObjectSE rootObject) throws EvaluationException
      インターフェースからコピーされた説明: Expression
      指定されたルートオブジェクトに対してこの式を評価します。
      次で指定:
      インターフェース ExpressiongetValue 
      パラメーター:
      rootObject - 式を評価する対象となるルートオブジェクト
      戻り値:
      評価結果
      例外:
      EvaluationException - 評価中に問題が発生した場合
    • getValue

      @Nullable public <T> T getValue(@Nullable ObjectSE rootObject, @Nullable ClassSE<T> expectedResultType) throws EvaluationException
      インターフェースからコピーされた説明: Expression
      指定されたルートオブジェクトに対してデフォルトのコンテキストで式を評価します。評価の結果が期待される結果型と一致しない(変換できない)場合は、例外が返されます。
      次で指定:
      インターフェース ExpressiongetValue 
      パラメーター:
      rootObject - 式を評価する対象となるルートオブジェクト
      expectedResultType - 呼び出し元が結果を望むクラス
      戻り値:
      評価結果
      例外:
      EvaluationException - 評価中に問題が発生した場合
    • getValue

      @Nullable public ObjectSE getValue(EvaluationContext context) throws EvaluationException
      インターフェースからコピーされた説明: Expression
      指定されたコンテキストでこの式を評価し、評価の結果を返します。
      次で指定:
      インターフェース ExpressiongetValue 
      パラメーター:
      context - 式を評価するコンテキスト
      戻り値:
      評価結果
      例外:
      EvaluationException - 評価中に問題が発生した場合
    • getValue

      @Nullable public <T> T getValue(EvaluationContext context, @Nullable ClassSE<T> expectedResultType) throws EvaluationException
      インターフェースからコピーされた説明: Expression
      プロパティ、メソッド、型などへの参照を解決できる指定されたコンテキストで式を評価します。評価結果の型は特定のクラスであることが期待されており、そうでない場合、それに変換できない場合、例外がスローされます。型。
      次で指定:
      インターフェース ExpressiongetValue 
      パラメーター:
      context - 式を評価するコンテキスト
      expectedResultType - 呼び出し元が結果を望むクラス
      戻り値:
      評価結果
      例外:
      EvaluationException - 評価中に問題が発生した場合
    • getValue

      @Nullable public ObjectSE getValue(EvaluationContext context, @Nullable ObjectSE rootObject) throws EvaluationException
      インターフェースからコピーされた説明: Expression
      指定されたコンテキストでこの式を評価し、評価の結果を返しますが、コンテキストで指定されたデフォルトのルートオブジェクトのオーバーライドとして、指定されたルートコンテキストを使用します。
      次で指定:
      インターフェース ExpressiongetValue 
      パラメーター:
      context - 式を評価するコンテキスト
      rootObject - 式を評価する対象となるルートオブジェクト
      戻り値:
      評価結果
      例外:
      EvaluationException - 評価中に問題が発生した場合
    • getValue

      @Nullable public <T> T getValue(EvaluationContext context, @Nullable ObjectSE rootObject, @Nullable ClassSE<T> expectedResultType) throws EvaluationException
      インターフェースからコピーされた説明: Expression
      プロパティ、メソッド、型などへの参照を解決できる指定されたコンテキストで式を評価します。評価結果の型は特定のクラスであることが期待されており、そうでない場合、それに変換できない場合、例外がスローされます。型。提供されたルートオブジェクトは、提供されたコンテキストで指定されたデフォルトをオーバーライドします。
      次で指定:
      インターフェース ExpressiongetValue 
      パラメーター:
      context - 式を評価するコンテキスト
      rootObject - 式を評価する対象となるルートオブジェクト
      expectedResultType - 呼び出し元が結果を望むクラス
      戻り値:
      評価結果
      例外:
      EvaluationException - 評価中に問題が発生した場合
    • getValueType

      @Nullable public ClassSE<?> getValueType() throws EvaluationException
      インターフェースからコピーされた説明: Expression
      デフォルトのコンテキストを使用して Expression.setValue(java.lang.Object, java.lang.Object) メソッドに渡すことができる最も一般的な型を返します。
      次で指定:
      インターフェース ExpressiongetValueType 
      戻り値:
      このコンテキストで設定できる最も一般的な型の値
      例外:
      EvaluationException - 型の判別に問題がある場合
    • getValueType

      @Nullable public ClassSE<?> getValueType(@Nullable ObjectSE rootObject) throws EvaluationException
      インターフェースからコピーされた説明: Expression
      デフォルトのコンテキストを使用して Expression.setValue(Object, Object) メソッドに渡すことができる最も一般的な型を返します。
      次で指定:
      インターフェース ExpressiongetValueType 
      パラメーター:
      rootObject - 式を評価する対象となるルートオブジェクト
      戻り値:
      このコンテキストで設定できる最も一般的な型の値
      例外:
      EvaluationException - 型の判別に問題がある場合
    • getValueType

      @Nullable public ClassSE<?> getValueType(EvaluationContext context) throws EvaluationException
      インターフェースからコピーされた説明: Expression
      指定されたコンテキストの Expression.setValue(EvaluationContext, Object) メソッドに渡すことができる最も一般的な型を返します。
      次で指定:
      インターフェース ExpressiongetValueType 
      パラメーター:
      context - 式を評価するコンテキスト
      戻り値:
      このコンテキストで設定できる最も一般的な型の値
      例外:
      EvaluationException - 型の判別に問題がある場合
    • getValueType

      @Nullable public ClassSE<?> getValueType(EvaluationContext context, @Nullable ObjectSE rootObject) throws EvaluationException
      インターフェースからコピーされた説明: Expression
      指定されたコンテキストの Expression.setValue(EvaluationContext, Object, Object) メソッドに渡すことができる最も一般的な型を返します。提供されたルートオブジェクトは、コンテキストで指定されたものをオーバーライドします。
      次で指定:
      インターフェース ExpressiongetValueType 
      パラメーター:
      context - 式を評価するコンテキスト
      rootObject - 式を評価する対象となるルートオブジェクト
      戻り値:
      このコンテキストで設定できる最も一般的な型の値
      例外:
      EvaluationException - 型の判別に問題がある場合
    • getValueTypeDescriptor

      @Nullable public TypeDescriptor getValueTypeDescriptor() throws EvaluationException
      インターフェースからコピーされた説明: Expression
      デフォルトのコンテキストを使用して Expression.setValue(java.lang.Object, java.lang.Object) メソッドに渡すことができる最も一般的な型を返します。
      次で指定:
      インターフェース ExpressiongetValueTypeDescriptor 
      戻り値:
      このコンテキストで設定できる値の型記述子
      例外:
      EvaluationException - 型の判別に問題がある場合
    • getValueTypeDescriptor

      @Nullable public TypeDescriptor getValueTypeDescriptor(@Nullable ObjectSE rootObject) throws EvaluationException
      インターフェースからコピーされた説明: Expression
      デフォルトのコンテキストを使用して Expression.setValue(Object, Object) メソッドに渡すことができる最も一般的な型を返します。
      次で指定:
      インターフェース ExpressiongetValueTypeDescriptor 
      パラメーター:
      rootObject - 式を評価する対象となるルートオブジェクト
      戻り値:
      このコンテキストで設定できる値の型記述子
      例外:
      EvaluationException - 型の判別に問題がある場合
    • getValueTypeDescriptor

      @Nullable public TypeDescriptor getValueTypeDescriptor(EvaluationContext context) throws EvaluationException
      インターフェースからコピーされた説明: Expression
      指定されたコンテキストの Expression.setValue(EvaluationContext, Object) メソッドに渡すことができる最も一般的な型を返します。
      次で指定:
      インターフェース ExpressiongetValueTypeDescriptor 
      パラメーター:
      context - 式を評価するコンテキスト
      戻り値:
      このコンテキストで設定できる値の型記述子
      例外:
      EvaluationException - 型の判別に問題がある場合
    • getValueTypeDescriptor

      @Nullable public TypeDescriptor getValueTypeDescriptor(EvaluationContext context, @Nullable ObjectSE rootObject) throws EvaluationException
      インターフェースからコピーされた説明: Expression
      指定されたコンテキストの Expression.setValue(EvaluationContext, Object, Object) メソッドに渡すことができる最も一般的な型を返します。提供されたルートオブジェクトは、コンテキストで指定されたものをオーバーライドします。
      次で指定:
      インターフェース ExpressiongetValueTypeDescriptor 
      パラメーター:
      context - 式を評価するコンテキスト
      rootObject - 式を評価する対象となるルートオブジェクト
      戻り値:
      このコンテキストで設定できる値の型記述子
      例外:
      EvaluationException - 型の判別に問題がある場合
    • isWritable

      public boolean isWritable(@Nullable ObjectSE rootObject) throws EvaluationException
      インターフェースからコピーされた説明: Expression
      式を書き込むことができるかどうか、つまり setValue() を呼び出すことができるかどうかを判断します。
      次で指定:
      インターフェース ExpressionisWritable 
      パラメーター:
      rootObject - 式を評価する対象となるルートオブジェクト
      戻り値:
      true (式が書き込み可能な場合)。それ以外の場合は false 
      例外:
      EvaluationException - 書き込み可能かどうかを決定する問題がある場合
    • isWritable

      public boolean isWritable(EvaluationContext context) throws EvaluationException
      インターフェースからコピーされた説明: Expression
      式を書き込むことができるかどうか、つまり setValue() を呼び出すことができるかどうかを判断します。
      次で指定:
      インターフェース ExpressionisWritable 
      パラメーター:
      context - 式がチェックされるコンテキスト
      戻り値:
      true (式が書き込み可能な場合)。それ以外の場合は false 
      例外:
      EvaluationException - 書き込み可能かどうかを決定する問題がある場合
    • isWritable

      public boolean isWritable(EvaluationContext context, @Nullable ObjectSE rootObject) throws EvaluationException
      インターフェースからコピーされた説明: Expression
      式を書き込むことができるかどうか、つまり setValue() を呼び出すことができるかどうかを判断します。提供されたルートオブジェクトは、コンテキストで指定されたものをオーバーライドします。
      次で指定:
      インターフェース ExpressionisWritable 
      パラメーター:
      context - 式がチェックされるコンテキスト
      rootObject - 式を評価する対象となるルートオブジェクト
      戻り値:
      true (式が書き込み可能な場合)。それ以外の場合は false 
      例外:
      EvaluationException - 書き込み可能かどうかを決定する問題がある場合
    • setValue

      public void setValue(@Nullable ObjectSE rootObject, @Nullable ObjectSE value) throws EvaluationException
      インターフェースからコピーされた説明: Expression
      提供されたコンテキストでこの式を提供された値に設定します。
      次で指定:
      インターフェース ExpressionsetValue 
      パラメーター:
      rootObject - 式を評価する対象となるルートオブジェクト
      value - 新しい価値
      例外:
      EvaluationException - 評価中に問題が発生した場合
    • setValue

      public void setValue(EvaluationContext context, @Nullable ObjectSE value) throws EvaluationException
      インターフェースからコピーされた説明: Expression
      提供されたコンテキストでこの式を提供された値に設定します。
      次で指定:
      インターフェース ExpressionsetValue 
      パラメーター:
      context - 式の値を設定するコンテキスト
      value - 新しい価値
      例外:
      EvaluationException - 評価中に問題が発生した場合
    • setValue

      public void setValue(EvaluationContext context, @Nullable ObjectSE rootObject, @Nullable ObjectSE value) throws EvaluationException
      インターフェースからコピーされた説明: Expression
      提供されたコンテキストでこの式を提供された値に設定します。提供されたルートオブジェクトは、コンテキストで指定されたものをオーバーライドします。
      次で指定:
      インターフェース ExpressionsetValue 
      パラメーター:
      context - 式の値を設定するコンテキスト
      rootObject - 式を評価する対象となるルートオブジェクト
      value - 新しい価値
      例外:
      EvaluationException - 評価中に問題が発生した場合
    • compileExpression

      public boolean compileExpression()
      式のコンパイルを実行します。これは、すべてのノードの出口記述子が決定されて初めて成功します。コンパイルが失敗し、100 回を超えて失敗した場合、式はコンパイルに適しているとは見なされなくなります。
      戻り値:
      この式が正常にコンパイルされたかどうか
    • revertToInterpreted

      public void revertToInterpreted()
      コンパイルされたフォームを使用している場合、式を解釈されるように戻します。また、コンパイル試行の失敗回数をリセットします(式は、100 回試行してもコンパイルできない場合、通常はコンパイル可能と見なされなくなります)。
    • getAST

      public SpelNode getAST()
      式の抽象構文ツリーを返します。
    • toStringAST

      public StringSE toStringAST()
      式の抽象構文ツリーの文字列表現を生成します。これは理想的には入力式のように見えるはずですが、式の解析中に不要な空白が破棄されるため、適切にフォーマットされます。
      戻り値:
      AST の文字列表現