クラス PropertyOrFieldReference

java.lang.ObjectSE
org.springframework.expression.spel.ast.SpelNodeImpl
org.springframework.expression.spel.ast.PropertyOrFieldReference
実装されたすべてのインターフェース:
OpcodesSpelNode

public class PropertyOrFieldReference extends SpelNodeImpl
単純なプロパティまたはフィールド参照を表します。
導入:
3.0
作成者:
Andy Clement, Juergen Hoeller, Clark Duplichien, Sam Brannen
  • コンストラクターの詳細

    • PropertyOrFieldReference

      public PropertyOrFieldReference(boolean nullSafe, StringSE propertyOrFieldName, int startPos, int endPos)
  • メソッドの詳細

    • isNullSafe

      public boolean isNullSafe()
      このノードは null セーフなプロパティまたはフィールド参照を表しますか ?
      オーバーライド:
      クラス SpelNodeImplisNullSafe 
      戻り値:
      true このノードが null セーフ操作のターゲットである場合
    • getName

      public StringSE getName()
      参照されるプロパティまたはフィールドの名前を取得します。
    • getValueRef

      public ValueRef getValueRef(ExpressionState state) throws EvaluationException
      オーバーライド:
      クラス SpelNodeImplgetValueRef 
      例外:
      EvaluationException
    • getValueInternal

      public TypedValue getValueInternal(ExpressionState state) throws EvaluationException
      次で指定:
      クラス SpelNodeImplgetValueInternal 
      例外:
      EvaluationException
    • setValueInternal

      public TypedValue setValueInternal(ExpressionState state, SupplierSE<TypedValue> valueSupplier) throws EvaluationException
      クラスからコピーされた説明: SpelNodeImpl
      式をノードに評価し、指定された SupplierSE によって作成された新しい値をそのノードに設定します。

      例: 式がプロパティ参照に評価される場合、プロパティは新しい値に設定されます。

      値を遅延計算する必要がある場合は、SpelNodeImpl.setValue(ExpressionState, Object) よりもこの方法を優先します。

      デフォルトでは、このメソッドは SpelEvaluationException をスローし、この機能を効果的に無効にします。サブクラスはこのメソッドをオーバーライドして、実際の実装を提供できます。

      オーバーライド:
      クラス SpelNodeImplsetValueInternal 
      パラメーター:
      state - 現在の式の状態 (コンテキストを含みます)
      valueSupplier - 新しい価値の提供者
      例外:
      EvaluationException - 式の評価または新しい値の設定で問題が発生した場合
    • isWritable

      public boolean isWritable(ExpressionState state) throws EvaluationException
      インターフェースからコピーされた説明: SpelNode
      この式ノードが setValue() 呼び出しをサポートするかどうかを決定します。
      次で指定:
      インターフェース SpelNodeisWritable 
      オーバーライド:
      クラス SpelNodeImplisWritable 
      パラメーター:
      state - 現在の式の状態 (コンテキストを含みます)
      戻り値:
      式ノードが setValue() を許可する場合は true
      例外:
      EvaluationException - ノードが書き込みをサポートしているかどうかを判断しようとして問題が発生した場合
    • toStringAST

      public StringSE toStringAST()
      インターフェースからコピーされた説明: SpelNode
      この AST ノードの文字列形式を返します。
      戻り値:
      文字列形式
    • isWritableProperty

      public boolean isWritableProperty(StringSE name, TypedValue contextObject, EvaluationContext evalContext) throws EvaluationException
      例外:
      EvaluationException
    • isCompilable

      public boolean isCompilable()
      クラスからコピーされた説明: SpelNodeImpl
      ノードをバイトコードにコンパイルできるかどうかを確認します。各ノードの推論は異なる場合がありますが、通常、ノードの出口型記述子が既知であり、関連する子ノードがコンパイル可能かどうかを確認する必要があります。
      オーバーライド:
      クラス SpelNodeImplisCompilable 
      戻り値:
      このノードをバイトコードにコンパイルできる場合は true 
    • generateCode

      public void generateCode(MethodVisitor mv, CodeFlow cf)
      クラスからコピーされた説明: SpelNodeImpl
      このノードのバイトコードを提供されたビジターに生成します。コンパイルされている現在の式に関するコンテキスト情報は、コードフローオブジェクトで利用できます。現在スタック上にあるオブジェクトの型に関する情報を含みます。
      オーバーライド:
      クラス SpelNodeImplgenerateCode 
      パラメーター:
      mv - コードが生成される ASM MethodVisitor
      cf - スタックの内容に関する情報を持つコンテキストオブジェクト