クラス OpMinus
java.lang.ObjectSE
org.springframework.expression.spel.ast.SpelNodeImpl
org.springframework.expression.spel.ast.Operator
org.springframework.expression.spel.ast.OpMinus
マイナス演算子は以下をサポートします:
- 数の減算
- 1 文字の文字列から int を減算する (実質的にその文字を減らす)、つまり
'd' - 3 = 'a'
数値の単項演算子として使用できます。オペランドの型が異なる場合(double-int = double)、標準プロモーションが実行されます。他のオプションについては、登録されたオーバーローダーに従います。
- 導入:
- 3.0
- 作成者:
- Andy Clement, Juergen Hoeller, Giovanni Dall'Oglio Risso, Sam Brannen, Semyon Danilov
ネストされたクラスの要約
クラス Operator から継承されたネストクラス / インターフェース
Operator.DescriptorComparisonフィールドのサマリー
クラス Operator から継承されたフィールド
leftActualDescriptor, rightActualDescriptorクラス SpelNodeImpl から継承されたフィールド
children, exitTypeDescriptorインターフェース Opcodes から継承されたフィールド
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_MANDATED, ACC_MODULE, ACC_NATIVE, ACC_OPEN, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_RECORD, ACC_STATIC, ACC_STATIC_PHASE, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_TRANSITIVE, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASM10_EXPERIMENTAL, ASM4, ASM5, ASM6, ASM7, ASM8, ASM9, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DOUBLE, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F_APPEND, F_CHOP, F_FULL, F_NEW, F_SAME, F_SAME1, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAT, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, H_GETFIELD, H_GETSTATIC, H_INVOKEINTERFACE, H_INVOKESPECIAL, H_INVOKESTATIC, H_INVOKEVIRTUAL, H_NEWINVOKESPECIAL, H_PUTFIELD, H_PUTSTATIC, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, IMUL, INEG, INSTANCEOF, INTEGER, INVOKEDYNAMIC, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LONG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, NULL, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SOURCE_DEPRECATED, SOURCE_MASK, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V_PREVIEW, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7, V1_8, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V22, V23, V24, V25, V26, V9コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明voidgenerateCode(MethodVisitor mv, CodeFlow cf) このノードのバイトコードを指定されたMethodVisitorに生成します。getValueInternal(ExpressionState state) booleanこのノードをバイトコードにコンパイルできるかどうかを判断します。booleanこの演算子が単項マイナスであり、その子が数値リテラルであるかどうかを判断します。すべての演算子の文字列形式は同じ'(' [operand] [operator] [operand] ')'です。クラス Operator から継承されたメソッド
equalityCheck, generateComparisonCode, getLeftOperand, getOperatorName, isCompilableOperatorUsingNumericsクラス SpelNodeImpl から継承されたメソッド
generateCodeForArgument, generateCodeForArguments, generateCodeForArguments, getChild, getChildCount, getEndPosition, getExitDescriptor, getObjectClass, getStartPosition, getTypedValue, getValue, getValue, getValueRef, isNullSafe, isWritable, nextChildIs, setValue, setValueInternal
コンストラクターの詳細
OpMinus
メソッドの詳細
isNegativeNumberLiteral
public boolean isNegativeNumberLiteral()この演算子が単項マイナスであり、その子が数値リテラルであるかどうかを判断します。- 戻り値:
- 負の数値リテラルの場合は
true - 導入:
- 6.1
getValueInternal
- 次で指定:
- クラス
SpelNodeImplのgetValueInternal - 例外:
EvaluationException
toStringAST
クラスからコピーされた説明:Operatorすべての演算子の文字列形式は同じ'(' [operand] [operator] [operand] ')'です。- 次で指定:
- インターフェース
SpelNodeのtoStringAST - オーバーライド:
- クラス
OperatorのtoStringAST - 戻り値:
- 文字列形式
getRightOperand
- オーバーライド:
- クラス
OperatorのgetRightOperand
isCompilable
public boolean isCompilable()インターフェースからコピーされた説明:SpelNodeこのノードをバイトコードにコンパイルできるかどうかを判断します。各ノードでの推論は異なる場合がありますが、通常は、ノードの終了型記述子が既知であるかどうか、および関連する子ノードがコンパイル可能であるかどうかをチェックします。
デフォルトの実装は
falseを返します。このメソッドをオーバーライドする場合は、
SpelNode.generateCode(MethodVisitor, CodeFlow)もオーバーライドする必要があります。- 戻り値:
- このノードをバイトコードにコンパイルできる場合は
true - 関連事項:
generateCode
インターフェースからコピーされた説明:SpelNodeこのノードのバイトコードを指定されたMethodVisitorに生成します。コンパイル中の現在の式に関するコンテキスト情報は、提供された
CodeFlowオブジェクトで入手できます。たとえば、現在スタック上にあるオブジェクトの型に関する情報などです。SpelNode.isCompilable()がtrueを返さない限り、このメソッドは呼び出されません。デフォルトでは、
SpelNode.isCompilable()はfalseを返すため、デフォルトの実装ではIllegalStateExceptionSE がスローされます。このメソッドをオーバーライドする場合は、
SpelNode.isCompilable()もオーバーライドする必要があります。- パラメーター:
mv- コードが生成される ASMMethodVisitorcf- スタック上にあるものに関する情報を持つコンテキストオブジェクト- 関連事項: