クラス選択
java.lang.ObjectSE
org.springframework.expression.spel.ast.SpelNodeImpl
org.springframework.expression.spel.ast.Selection
MapSE、IterableSE、または配列の選択を表します。 例: {1,2,3,4,5,6,7,8,9,10}.?[#isEven(#this)] は [2, 4, 6, 8, 10] として評価されます。
基本的に、入力データのサブセットは、選択条件として指定された式の評価に基づいて返されます。
Null セーフ選択
Null セーフ選択は、'?.?' 演算子によってサポートされます。例: 'names?.?[#this.length > 5]' は、names が null の場合に null と評価され、それ以外の場合は長さが 5 を超える名前を含むシーケンスに評価されます。Spring Framework 7.0 では、OptionalSE ターゲットで選択を実行するときにも null セーフ選択が適用されます。例: names が Optional<List<String>> 型の場合、式 'names?.?[#this.length > 5]' は、names が null または empty の場合に null と評価され、それ以外の場合は長さが 5 を超える名前を含むシーケンス (実質的には names.get().stream().filter(s -> s.length() > 5).toList()) に評価されます。
- 導入:
- 3.0
- 作成者:
- Andy Clement, Mark Fisher, Sam Brannen, Juergen Hoeller
フィールドのサマリー
フィールド修飾子と型フィールド説明static final intすべてのアイテム(?[])。static final int最初の項目(^[])。static final int最後のアイテム($[])。クラス 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コンストラクターの概要
コンストラクターコンストラクター説明Selection(boolean nullSafe, int variant, int startPos, int endPos, SpelNodeImpl expression) 方法の概要
修飾子と型メソッド説明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
フィールドの詳細
ALL
public static final int ALLすべてのアイテム(?[])。- 関連事項:
FIRST
public static final int FIRST最初の項目(^[])。- 関連事項:
LAST
public static final int LAST最後のアイテム($[])。- 関連事項:
コンストラクターの詳細
Selection
メソッドの詳細
isNullSafe
public final boolean isNullSafe()このノードは null セーフ選択操作を表していますか ?- オーバーライド:
- クラス
SpelNodeImplのisNullSafe - 戻り値:
trueこのノードが null セーフ操作のターゲットである場合- 導入:
- 6.1.6
getValueInternal
- 次で指定:
- クラス
SpelNodeImplのgetValueInternal - 例外:
EvaluationException
getValueRef
- オーバーライド:
- クラス
SpelNodeImplのgetValueRef - 例外:
EvaluationException
toStringAST