Class RegexConstraint

  • All Implemented Interfaces:
    Constraint

    public class RegexConstraint
    extends AbstractConstraint
    Constraint implementation that performs regular expression comparisons. Where possible, the type converter will be used to first convert the value to a String, so the evaluation will be against the value's String equivalent.

    The failure condition can be changed to occur either on a match or on a non-match by using the requiresMatch property. The default is true, i.e. failures will occur if the object value does not match the given expression.

    Author:
    Derek Hulley
    See Also:
    String.matches(java.lang.String), Pattern
    • Field Detail

      • CONSTRAINT_REGEX_NO_MATCH

        public static final java.lang.String CONSTRAINT_REGEX_NO_MATCH
        See Also:
        Constant Field Values
      • CONSTRAINT_REGEX_MATCH

        public static final java.lang.String CONSTRAINT_REGEX_MATCH
        See Also:
        Constant Field Values
      • CONSTRAINT_REGEX_MSG_PREFIX

        public static final java.lang.String CONSTRAINT_REGEX_MSG_PREFIX
        See Also:
        Constant Field Values
    • Constructor Detail

      • RegexConstraint

        public RegexConstraint()
    • Method Detail

      • getType

        public java.lang.String getType()
        Returns the 'type' of the constraint, this is the identifier given to constraint in the configuration.
        Specified by:
        getType in interface Constraint
        Overrides:
        getType in class AbstractConstraint
        Returns:
        The type
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • getExpression

        public java.lang.String getExpression()
        Returns:
        Returns the regular expression similar to the String.matches(java.lang.String)
      • setExpression

        public void setExpression​(java.lang.String expression)
        Set the regular expression used to evaluate String values
        Parameters:
        expression - regular expression similar to the String.matches(java.lang.String) argument
      • getRequiresMatch

        public boolean getRequiresMatch()
        Returns:
        Returns true if the value must match the regular expression or false if the value must not match the regular expression
      • setRequiresMatch

        public void setRequiresMatch​(boolean requiresMatch)
        Set whether the regular expression must be matched or not
        Parameters:
        requiresMatch - Set to true if the value must match the regular expression or false if the value must not match the regular expression
      • getParameters

        public java.util.Map<java.lang.String,​java.lang.Object> getParameters()
        Description copied from interface: Constraint
        Returns the parameters passed to the instance of the constraint.
        Specified by:
        getParameters in interface Constraint
        Overrides:
        getParameters in class AbstractConstraint
        Returns:
        Map of parameters or an empty Map if none exist
      • initialize

        public void initialize()
        Description copied from class: AbstractConstraint
        Initializes the constraint with appropriate values, which will depend on the implementation itself. This method can be implemented as a once-off, i.e. reinitialization does not have to be supported.

        Registers the constraint with the registry, if present. Call this method if you want the constraint to be auto-registered.

        Specified by:
        initialize in interface Constraint
        Overrides:
        initialize in class AbstractConstraint
      • evaluateSingleValue

        protected void evaluateSingleValue​(java.lang.Object value)
        Description copied from class: AbstractConstraint
        Support for evaluation of properties. The value passed in will never be a Collection and will never be null.
        Specified by:
        evaluateSingleValue in class AbstractConstraint