クラス Projection
java.lang.ObjectSE
org.springframework.expression.spel.ast.SpelNodeImpl
org.springframework.expression.spel.ast.Projection
射影を表します。特定の操作がいくつかの入力シーケンスのすべての要素に対して実行され、同じサイズの新しいシーケンスを返します。
次に例を示します: {1,2,3,4,5,6,7,8,9,10}.![#isEven(#this)] は [n, y, n, y, n, y, n, y, n, y] に評価されます。
Null 安全射影
null セーフな射影は、'?.!' 演算子によってサポートされます。例: 'names?.![#this.length]' は、names が null の場合に null と評価され、それ以外の場合は名前の長さを含むシーケンスと評価されます。Spring Framework 7.0 以降、OptionalSE ターゲットへの射影にも null セーフな射影が適用されます。例: names が Optional<List<String>> 型の場合、式 'names?.![#this.length]' は、names が null または empty の場合に null と評価され、それ以外の場合は名前の長さを含むシーケンス、つまり実質的に names.get().stream().map(String::length).toList() と評価されます。
- 導入:
- 3.0
- 作成者:
- Andy Clement, Mark Fisher, Juergen Hoeller, Sam Brannen
フィールドのサマリー
クラス 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コンストラクターの概要
コンストラクター方法の概要
修飾子と型メソッド説明getValueInternal(ExpressionState state) protected ValueRefgetValueRef(ExpressionState state) final booleanこのノードは null セーフな射影操作を表しますか ?この AST ノードの文字列形式を返します。クラス SpelNodeImpl から継承されたメソッド
generateCodeForArgument, generateCodeForArguments, generateCodeForArguments, getChild, getChildCount, getEndPosition, getExitDescriptor, getObjectClass, getStartPosition, getTypedValue, getValue, getValue, isWritable, nextChildIs, setValue, setValueInternalクラス ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSEインターフェース SpelNode から継承されたメソッド
generateCode, isCompilable
コンストラクターの詳細
Projection
メソッドの詳細
isNullSafe
public final boolean isNullSafe()このノードは null セーフな射影操作を表しますか ?- オーバーライド:
- クラス
SpelNodeImplのisNullSafe - 戻り値:
trueこのノードが null セーフ操作のターゲットである場合- 導入:
- 6.1.6
getValueInternal
- 次で指定:
- クラス
SpelNodeImplのgetValueInternal - 例外:
EvaluationException
getValueRef
- オーバーライド:
- クラス
SpelNodeImplのgetValueRef - 例外:
EvaluationException
toStringAST