クラス FunctionReference
java.lang.ObjectSE
org.springframework.expression.spel.ast.SpelNodeImpl
org.springframework.expression.spel.ast.FunctionReference
関数参照は、「#someFunction(a、b、c)」の形式です。
関数は Method
SE (静的 Java メソッドの場合) または MethodHandle
SE のいずれかであり、式の評価前にコンテキストに登録する必要があります。詳細については、StandardEvaluationContext
の registerFunction()
メソッドを参照してください。
- 導入:
- 3.0
- 作成者:
- Andy Clement, Juergen Hoeller, Simon Basl é , Sam Brannen
- 関連事項:
フィールドのサマリー
クラス org.springframework.expression.spel.ast.SpelNodeImpl から継承されたフィールド
children, exitTypeDescriptor
インターフェース org.springframework.asm.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, V9
コンストラクターの概要
コンストラクターコンストラクター説明FunctionReference
(StringSE functionName, int startPos, int endPos, SpelNodeImpl... arguments) メソッドのサマリー
修飾子と型メソッド説明void
generateCode
(MethodVisitor mv, CodeFlow cf) このノードのバイトコードを指定されたMethodVisitor
に生成します。getValueInternal
(ExpressionState state) boolean
このノードをバイトコードにコンパイルできるかどうかを判断します。この AST ノードの文字列形式を返します。クラス org.springframework.expression.spel.ast.SpelNodeImpl から継承されたメソッド
generateCodeForArgument, generateCodeForArguments, generateCodeForArguments, getChild, getChildCount, getEndPosition, getExitDescriptor, getObjectClass, getStartPosition, getTypedValue, getValue, getValue, getValueRef, isNullSafe, isWritable, nextChildIs, setValue, setValueInternal
コンストラクターの詳細
FunctionReference
public FunctionReference(StringSE functionName, int startPos, int endPos, SpelNodeImpl... arguments)
メソッドの詳細
getValueInternal
- 次で指定:
- クラス
SpelNodeImpl
のgetValueInternal
- 例外:
EvaluationException
toStringAST
インターフェースからコピーされた説明:SpelNode
この AST ノードの文字列形式を返します。- 戻り値:
- 文字列形式
isCompilable
public boolean isCompilable()インターフェースからコピーされた説明:SpelNode
このノードをバイトコードにコンパイルできるかどうかを判断します。各ノードでの推論は異なる場合がありますが、通常は、ノードの終了型記述子が既知であるかどうか、および関連する子ノードがコンパイル可能であるかどうかをチェックします。
デフォルトの実装は
false
を返します。このメソッドをオーバーライドする場合は、
SpelNode.generateCode(MethodVisitor, CodeFlow)
もオーバーライドする必要があります。- 戻り値:
- このノードをバイトコードにコンパイルできる場合は
true
- 関連事項:
generateCode
インターフェースからコピーされた説明:SpelNode
このノードのバイトコードを指定されたMethodVisitor
に生成します。コンパイル中の現在の式に関するコンテキスト情報は、提供された
CodeFlow
オブジェクトで入手できます。たとえば、現在スタック上にあるオブジェクトの型に関する情報などです。SpelNode.isCompilable()
がtrue
を返さない限り、このメソッドは呼び出されません。デフォルトでは、
SpelNode.isCompilable()
はfalse
を返すため、デフォルトの実装ではIllegalStateException
SE がスローされます。このメソッドをオーバーライドする場合は、
SpelNode.isCompilable()
もオーバーライドする必要があります。- パラメーター:
mv
- コードが生成される ASMMethodVisitor
cf
- スタック上にあるものに関する情報を持つコンテキストオブジェクト- 関連事項: