クラス OperatorInstanceof
java.lang.ObjectSE
org.springframework.expression.spel.ast.SpelNodeImpl
org.springframework.expression.spel.ast.Operator
org.springframework.expression.spel.ast.OperatorInstanceof
演算子 'instanceof' は、Java で
instanceof が行うのと同じ方法で、オブジェクトが右側のオペランドで指定されたクラスのものであるかどうかをチェックします。- 導入:
- 3.0
- 作成者:
- Andy Clement
ネストされたクラスの要約
クラス 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このノードをバイトコードにコンパイルできるかどうかを判断します。クラス Operator から継承されたメソッド
equalityCheck, generateComparisonCode, getLeftOperand, getOperatorName, getRightOperand, isCompilableOperatorUsingNumerics, toStringASTクラス SpelNodeImpl から継承されたメソッド
generateCodeForArgument, generateCodeForArguments, generateCodeForArguments, getChild, getChildCount, getEndPosition, getExitDescriptor, getObjectClass, getStartPosition, getTypedValue, getValue, getValue, getValueRef, isNullSafe, isWritable, nextChildIs, setValue, setValueInternal
コンストラクターの詳細
OperatorInstanceof
メソッドの詳細
getValueInternal
左のオペランドを比較して、右のオペランドとして指定された型のインスタンスであることを確認します。右側のオペランドはクラスでなければなりません。- 次で指定:
- クラス
SpelNodeImplのgetValueInternal - パラメーター:
state- 式の状態- 戻り値:
- 左のオペランドが右のオペランドのインスタンスの場合は
true、それ以外の場合はfalse - 例外:
EvaluationException- 式の評価に問題がある場合
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- スタック上にあるものに関する情報を持つコンテキストオブジェクト- 関連事項: