AnyOf (Hamcrest)
Date: 2018-08-04

org.hamcrest.core

## Class AnyOf<T>

- java.lang.Object
- - org.hamcrest.BaseMatcher<T>
  - - org.hamcrest.core.AnyOf<T>

- All Implemented Interfaces:
    Matcher<T>, SelfDescribing

      public class AnyOf<T>
      extends BaseMatcher<T>

  Calculates the logical disjunction of multiple matchers. Evaluation is shortcut, so subsequent matchers are not called if an earlier matcher returns `true`.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `AnyOf(java.lang.Iterable<Matcher<? super T>> matchers)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static <T> AnyOf<T>` | `anyOf(java.lang.Iterable<Matcher<? super T>> matchers)` Creates a matcher that matches if the examined object matches ANY of the specified matchers.
    `static <T> AnyOf<T>` | `anyOf(Matcher<? super T>... matchers)` Creates a matcher that matches if the examined object matches ANY of the specified matchers.
    `static <T> AnyOf<T>` | `anyOf(Matcher<T> first, Matcher<? super T> second)` Creates a matcher that matches if the examined object matches ANY of the specified matchers.
    `static <T> AnyOf<T>` | `anyOf(Matcher<T> first, Matcher<? super T> second, Matcher<? super T> third)` Creates a matcher that matches if the examined object matches ANY of the specified matchers.
    `static <T> AnyOf<T>` | `anyOf(Matcher<T> first, Matcher<? super T> second, Matcher<? super T> third, Matcher<? super T> fourth)` Creates a matcher that matches if the examined object matches ANY of the specified matchers.
    `static <T> AnyOf<T>` | `anyOf(Matcher<T> first, Matcher<? super T> second, Matcher<? super T> third, Matcher<? super T> fourth, Matcher<? super T> fifth)` Creates a matcher that matches if the examined object matches ANY of the specified matchers.
    `static <T> AnyOf<T>` | `anyOf(Matcher<T> first, Matcher<? super T> second, Matcher<? super T> third, Matcher<? super T> fourth, Matcher<? super T> fifth, Matcher<? super T> sixth)` Creates a matcher that matches if the examined object matches ANY of the specified matchers.
    `void` | `describeTo(Description description)` Generates a description of the object.
    `void` | `describeTo(Description description, java.lang.String operator)`
    `boolean` | `matches(java.lang.Object o)` Evaluates the matcher for argument item.
    `protected boolean` | `matches(java.lang.Object o, boolean shortcut)`

    - ### Methods inherited from class org.hamcrest.BaseMatcher

      `_dont_implement_Matcher___instead_extend_BaseMatcher_, describeMismatch, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### AnyOf

          public AnyOf(java.lang.Iterable<Matcher<? super T>> matchers)

  - ### Method Detail

    - #### matches

          public boolean matches(java.lang.Object o)

      Description copied from interface: `Matcher`
      Evaluates the matcher for argument item.

      This method matches against Object, instead of the generic type T. This is because the caller of the Matcher does not know at runtime what the type is (because of type erasure with Java generics). It is down to the implementations to check the correct type.
      Specified by:
        `matches` in interface `Matcher<T>`
      Parameters:
        `o` - the object against which the matcher is evaluated.
      Returns:
        `true` if item matches, otherwise `false`.
      See Also:
        `BaseMatcher`

    - #### describeTo

          public void describeTo(Description description)

      Description copied from interface: `SelfDescribing`
      Generates a description of the object. The description may be part of a a description of a larger object of which this is just a component, so it should be worded appropriately.
      Specified by:
        `describeTo` in interface `SelfDescribing`
      Parameters:
        `description` - The description to be built or appended to.

    - #### anyOf

          public static <T> AnyOf<T> anyOf(java.lang.Iterable<Matcher<? super T>> matchers)

      Creates a matcher that matches if the examined object matches ANY of the specified matchers.

      For example:

          assertThat("myValue", anyOf(startsWith("foo"), containsString("Val")))

    - #### anyOf

          public static <T> AnyOf<T> anyOf(Matcher<? super T>... matchers)

      Creates a matcher that matches if the examined object matches ANY of the specified matchers.

      For example:

          assertThat("myValue", anyOf(startsWith("foo"), containsString("Val")))

    - #### anyOf

          public static <T> AnyOf<T> anyOf(Matcher<T> first,
                           Matcher<? super T> second)

      Creates a matcher that matches if the examined object matches ANY of the specified matchers.

      For example:

          assertThat("myValue", anyOf(startsWith("foo"), containsString("Val")))

    - #### anyOf

          public static <T> AnyOf<T> anyOf(Matcher<T> first,
                           Matcher<? super T> second,
                           Matcher<? super T> third)

      Creates a matcher that matches if the examined object matches ANY of the specified matchers.

      For example:

          assertThat("myValue", anyOf(startsWith("foo"), containsString("Val")))

    - #### anyOf

          public static <T> AnyOf<T> anyOf(Matcher<T> first,
                           Matcher<? super T> second,
                           Matcher<? super T> third,
                           Matcher<? super T> fourth)

      Creates a matcher that matches if the examined object matches ANY of the specified matchers.

      For example:

          assertThat("myValue", anyOf(startsWith("foo"), containsString("Val")))

    - #### anyOf

          public static <T> AnyOf<T> anyOf(Matcher<T> first,
                           Matcher<? super T> second,
                           Matcher<? super T> third,
                           Matcher<? super T> fourth,
                           Matcher<? super T> fifth)

      Creates a matcher that matches if the examined object matches ANY of the specified matchers.

      For example:

          assertThat("myValue", anyOf(startsWith("foo"), containsString("Val")))

    - #### anyOf

          public static <T> AnyOf<T> anyOf(Matcher<T> first,
                           Matcher<? super T> second,
                           Matcher<? super T> third,
                           Matcher<? super T> fourth,
                           Matcher<? super T> fifth,
                           Matcher<? super T> sixth)

      Creates a matcher that matches if the examined object matches ANY of the specified matchers.

      For example:

          assertThat("myValue", anyOf(startsWith("foo"), containsString("Val")))

    - #### matches

          protected boolean matches(java.lang.Object o,
                        boolean shortcut)

    - #### describeTo

          public void describeTo(Description description,
                        java.lang.String operator)