クラス 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 以降、Optional
SE ターゲットへの射影にも 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
フィールドのサマリー
クラス 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
コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明getValueInternal
(ExpressionState state) protected ValueRef
getValueRef
(ExpressionState state) final boolean
このノードは null セーフな射影操作を表しますか ?この AST ノードの文字列形式を返します。クラス org.springframework.expression.spel.ast.SpelNodeImpl から継承されたメソッド
generateCodeForArgument, generateCodeForArguments, generateCodeForArguments, getChild, getChildCount, getEndPosition, getExitDescriptor, getObjectClass, getStartPosition, getTypedValue, getValue, getValue, isWritable, nextChildIs, setValue, setValueInternal
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.expression.spel.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