Interface Matcher<M>

Type Parameters:
M - The matchee type.
All Superinterfaces:
org.refcodes.mixin.AliasAccessor, Matchable<M>, org.refcodes.mixin.Schemable
All Known Subinterfaces:
WildcardMatcher
All Known Implementing Classes:
AbstractMatcheeMatcher, AbstractMatcher, AbstractMatcherComposite, AbstractWildcardMatcher, AndMatcher, AnyMatcher, EqualWithMatcher, GreaterOrEqualThanMatcher, GreaterThanMatcher, IsAssignableFromMatcher, LessOrEqualThanMatcher, LessThanMatcher, NoneMatcher, NotEqualWithMatcher, NotMatcher, OrMatcher, PathMatcher, RegExpMatcher
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface Matcher<M> extends Matchable<M>, org.refcodes.mixin.Schemable, org.refcodes.mixin.AliasAccessor
The matcher is used to test whether a matchee matches certain criteria. A matcher may be an own implementation or it may get nested (inspired by http://code.mycila.com/wiki/MycilaEvent) having different matchers which in combination do some custom matching as needed by the business logic. The method toSchema() discovers a Schema from a Matcher for documenting or debugging purposes of such a nested Matcher structure,
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.refcodes.mixin.AliasAccessor

    org.refcodes.mixin.AliasAccessor.AliasBuilder<B extends org.refcodes.mixin.AliasAccessor.AliasBuilder<B>>, org.refcodes.mixin.AliasAccessor.AliasMutator, org.refcodes.mixin.AliasAccessor.AliasProperty
  • Method Summary

    Modifier and Type
    Method
    Description
    default String

    Methods inherited from interface org.refcodes.matcher.Matchable

    isMatching
  • Method Details

    • toSchema

      default MatcherSchema toSchema()
      Specified by:
      toSchema in interface org.refcodes.mixin.Schemable
    • getAlias

      default String getAlias()
      Specified by:
      getAlias in interface org.refcodes.mixin.AliasAccessor