クラス Operator

java.lang.ObjectSE
org.springframework.expression.spel.ast.SpelNodeImpl
org.springframework.expression.spel.ast.Operator
実装されたすべてのインターフェース:
OpcodesSpelNode
既知の直属サブクラス
OpAndOpDecOpDivideOpEQOperatorBetweenOperatorInstanceofOperatorMatchesOperatorPowerOpGEOpGTOpIncOpLEOpLTOpMinusOpModulusOpMultiplyOpNEOpOrOpPlus

public abstract class Operator extends SpelNodeImpl
1 つまたは 2 つのオペランドを操作する演算子の共通スーパー型。乗算または除算の場合、2 つのオペランドがありますが、単項プラスまたはマイナスの場合、オペランドは 1 つだけです。
導入:
3.0
作成者:
Andy Clement, Juergen Hoeller, Giovanni Dall'Oglio Risso, Sam Brannen
  • フィールドの詳細

  • コンストラクターの詳細

  • メソッドの詳細

    • getLeftOperand

      public SpelNodeImpl getLeftOperand()
    • getRightOperand

      public SpelNodeImpl getRightOperand()
    • getOperatorName

      public final StringSE getOperatorName()
    • toStringAST

      public StringSE toStringAST()
      すべての演算子の文字列形式は同じ '(' [operand] [operator] [operand] ')' です。
      戻り値:
      文字列形式
    • isCompilableOperatorUsingNumerics

      protected boolean isCompilableOperatorUsingNumerics()
    • generateComparisonCode

      protected void generateComparisonCode(MethodVisitor mv, CodeFlow cf, int compInstruction1, int compInstruction2)
      数値比較演算子は非常によく似た生成コードを共有し、2 つの比較命令のみが異なります。
    • equalityCheck

      public static boolean equalityCheck(EvaluationContext context, @Nullable ObjectSE left, @Nullable ObjectSE right)
      指定されたオペランド値の等価性チェックを実行します。

      このメソッドは、サブクラスでのリフレクト比較に使用されるだけでなく、コンパイルされた式コードからも使用されるため、ここで public static として宣言する必要があります。

      パラメーター:
      context - 現在の評価コンテキスト
      left - 左側のオペランド値
      right - 右側のオペランド値