Interface ElementMatcher.Junction<S>

Type Parameters:
S - The type of the object that is being matched.
All Superinterfaces:
ElementMatcher<S>
All Known Implementing Classes:
AccessibilityMatcher, AnnotationTargetMatcher, AnnotationTypeMatcher, ArrayTypeMatcher, BooleanMatcher, CachingMatcher, CachingMatcher.WithInlineEviction, ClassLoaderHierarchyMatcher, ClassLoaderParentMatcher, CollectionElementMatcher, CollectionErasureMatcher, CollectionItemMatcher, CollectionOneToOneMatcher, CollectionSizeMatcher, DeclaringAnnotationMatcher, DeclaringFieldMatcher, DeclaringMethodMatcher, DeclaringTypeMatcher, DefinedShapeMatcher, DescriptorMatcher, ElementMatcher.Junction.AbstractBase, ElementMatcher.Junction.Conjunction, ElementMatcher.Junction.Disjunction, ElementMatcher.Junction.ForNonNullValues, EqualityMatcher, ErasureMatcher, FailSafeMatcher, FieldTypeMatcher, HasSuperClassMatcher, HasSuperTypeMatcher, InheritedAnnotationMatcher, InstanceTypeMatcher, IsNamedMatcher, MethodExceptionTypeMatcher, MethodOverrideMatcher, MethodParametersMatcher, MethodParameterTypeMatcher, MethodParameterTypesMatcher, MethodReturnTypeMatcher, MethodSortMatcher, ModifierMatcher, NameMatcher, NegatingMatcher, NullMatcher, PrimitiveTypeMatcher, RecordMatcher, SignatureTokenMatcher, StringMatcher, StringSetMatcher, SubTypeMatcher, SuperTypeMatcher, TypeSortMatcher, VisibilityMatcher
Enclosing interface:
ElementMatcher<T>

public static interface ElementMatcher.Junction<S> extends ElementMatcher<S>
A junctions allows to chain different ElementMatchers in a readable manner.
  • Method Details

    • and

      <U extends S> ElementMatcher.Junction<U> and(ElementMatcher<? super U> other)
      Creates a conjunction where this matcher and the other matcher must both be matched in order to constitute a successful match. The other matcher is only invoked if this matcher constitutes a successful match.
      Type Parameters:
      U - The type of the object that is being matched. Note that Java's type inference might not be able to infer the common subtype of this instance and the other matcher such that this type must need to be named explicitly.
      Parameters:
      other - The second matcher to consult.
      Returns:
      A conjunction of this matcher and the other matcher.
    • or

      <U extends S> ElementMatcher.Junction<U> or(ElementMatcher<? super U> other)
      Creates a disjunction where either this matcher or the other matcher must be matched in order to constitute a successful match. The other matcher is only invoked if this matcher constitutes an unsuccessful match.
      Type Parameters:
      U - The type of the object that is being matched. Note that Java's type inference might not be able to infer the common subtype of this instance and the other matcher such that this type must need to be named explicitly.
      Parameters:
      other - The second matcher to consult.
      Returns:
      A disjunction of this matcher and the other matcher.