Interface Matcher

All Known Implementing Classes:
AbstractMatcher, AbstractSetMatcher, BetweenMatcher, ContainsAllMatcher, ContainsAnyMatcher, ContainsNoneMatcher, InMatcher, LikeMatcher, NotInMatcher, RegexMatcher, StringMatcher, TypeMatcher

public interface Matcher
Matcher role is to check if provided value matches pattern. Each evaluation takes place in type context, so same matcher can handle values differently based on type.
Since:
1.0.0
Author:
Przemek Hertel
  • Method Summary

    Modifier and Type
    Method
    Description
    default boolean
    Check if matcher is working in reverse state.
    <T extends ValueHolder>
    boolean
    matches(String value, String pattern, Type<T> type)
    Check if value matches the pattern.
    default void
    setReverse(boolean reverse)
    Sets matcher working state.
  • Method Details

    • isReverse

      default boolean isReverse()
      Check if matcher is working in reverse state. What that means is that matcher swaps
      value
      and
      pattern
      arguments in matches(String, String, Type) method
      Returns:
      true if matcher is working in reverse state
    • setReverse

      default void setReverse(boolean reverse)
      Sets matcher working state.
      Parameters:
      reverse - boolean telling whether matcher should work in reverse state.
      See Also:
    • matches

      <T extends ValueHolder> boolean matches(String value, String pattern, Type<T> type)
      Check if value matches the pattern. Type can be used to parse value or to differentiate matchers behavior depending on value type. Type is defined per parameter Level.
      Type Parameters:
      T - level type
      Parameters:
      value - value form query (provided by user)
      pattern - pattern from parameter matrix (can be '*')
      type - type of value, might be null if none was set
      Returns:
      true if value matched, false otherwise