Class OperatorMatches
java.lang.Object
org.springframework.expression.spel.ast.SpelNodeImpl
org.springframework.expression.spel.ast.Operator
org.springframework.expression.spel.ast.OperatorMatches
Implements the matches operator. Matches takes two operands:
The first is a String and the second is a Java regex.
It will return
true when SpelNodeImpl.getValue(org.springframework.expression.spel.ExpressionState) is called
if the first operand matches the regex.- Since:
- 3.0
- Author:
- Andy Clement, Juergen Hoeller, Sam Brannen
-
Nested Class Summary
Nested classes/interfaces inherited from class org.springframework.expression.spel.ast.Operator
Operator.DescriptorComparison -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intMaximum number of compiled regular expressions in the pattern cache: 256.Fields inherited from class org.springframework.expression.spel.ast.Operator
leftActualDescriptor, rightActualDescriptorFields inherited from class org.springframework.expression.spel.ast.SpelNodeImpl
children, exitTypeDescriptorFields inherited from interface 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, V26, V27, V9 -
Constructor Summary
ConstructorsConstructorDescriptionOperatorMatches(int startPos, int endPos, SpelNodeImpl... operands) Deprecated, for removal: This API element is subject to removal in a future version.OperatorMatches(ConcurrentMap<String, Pattern> patternCacheMap, int startPos, int endPos, SpelNodeImpl... operands) Deprecated, for removal: This API element is subject to removal in a future version.as of Spring Framework 6.2.19; for removal in Spring Framework 7.1; invokeOperatorMatches(ConcurrentLruCache, int, int, SpelNodeImpl...)insteadOperatorMatches(ConcurrentLruCache<String, Pattern> patternCache, int startPos, int endPos, SpelNodeImpl... operands) Create a newOperatorMatchesinstance with a shared pattern cache. -
Method Summary
Modifier and TypeMethodDescriptiongetValueInternal(ExpressionState state) Check the first operand matches the regex specified as the second operand.Methods inherited from class org.springframework.expression.spel.ast.Operator
equalityCheck, generateComparisonCode, getLeftOperand, getOperatorName, getRightOperand, isCompilableOperatorUsingNumerics, toStringASTMethods inherited from class org.springframework.expression.spel.ast.SpelNodeImpl
generateCodeForArgument, generateCodeForArguments, generateCodeForArguments, getChild, getChildCount, getEndPosition, getExitDescriptor, getObjectClass, getStartPosition, getTypedValue, getValue, getValue, getValueRef, isNullSafe, isWritable, nextChildIs, setValue, setValueInternalMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.expression.spel.SpelNode
generateCode, isCompilable
-
Field Details
-
MAX_PATTERN_CACHE_SIZE
public static final int MAX_PATTERN_CACHE_SIZEMaximum number of compiled regular expressions in the pattern cache: 256.- Since:
- 6.2.19
- See Also:
-
-
Constructor Details
-
OperatorMatches
@Deprecated(since="5.2.23", forRemoval=true) public OperatorMatches(int startPos, int endPos, SpelNodeImpl... operands) Deprecated, for removal: This API element is subject to removal in a future version.as of Spring Framework 5.2.23; for removal in Spring Framework 7.1; invokeOperatorMatches(ConcurrentLruCache, int, int, SpelNodeImpl...)insteadCreate a newOperatorMatchesinstance. -
OperatorMatches
@Deprecated(since="6.2.19", forRemoval=true) public OperatorMatches(ConcurrentMap<String, Pattern> patternCacheMap, int startPos, int endPos, SpelNodeImpl... operands) Deprecated, for removal: This API element is subject to removal in a future version.as of Spring Framework 6.2.19; for removal in Spring Framework 7.1; invokeOperatorMatches(ConcurrentLruCache, int, int, SpelNodeImpl...)insteadCreate a newOperatorMatchesinstance with a shared pattern cache.As of Spring Framework 6.2.19, the supplied
patternCacheMapwill be ignored.- Since:
- 5.2.23
-
OperatorMatches
public OperatorMatches(ConcurrentLruCache<String, Pattern> patternCache, int startPos, int endPos, SpelNodeImpl... operands) Create a newOperatorMatchesinstance with a shared pattern cache.- Since:
- 6.2.19
-
-
Method Details
-
getValueInternal
Check the first operand matches the regex specified as the second operand.- Specified by:
getValueInternalin classSpelNodeImpl- Parameters:
state- the expression state- Returns:
trueif the first operand matches the regex specified as the second operand, otherwisefalse- Throws:
EvaluationException- if there is a problem evaluating the expression (for example, the regex is invalid)
-
OperatorMatches(ConcurrentLruCache, int, int, SpelNodeImpl...)instead