## org.hamcrest.core
Class CombinableMatcher<T>

    java.lang.Object
      org.hamcrest.BaseMatcher<T>
          org.hamcrest.TypeSafeDiagnosingMatcher<T>
              org.hamcrest.core.CombinableMatcher<T>

All Implemented Interfaces:
  Matcher<T>, SelfDescribing

    public class CombinableMatcher<T>

extends TypeSafeDiagnosingMatcher<T>

Nested Class Summary
`static class` `CombinableMatcher.CombinableBothMatcher<X>`
`static class` `CombinableMatcher.CombinableEitherMatcher<X>`

Constructor Summary
`CombinableMatcher(Matcher<? super T> matcher)`

Method Summary
`CombinableMatcher<T>` `and(Matcher<? super T> other)`

`static

`<LHS> CombinableMatcher.CombinableBothMatcher<LHS>`

`

`both(Matcher<? super LHS> matcher)`
Creates a matcher that matches when both of the specified matchers match the examined object.

`void` `describeTo(Description description)` Generates a description of the object.

`static

`<LHS> CombinableMatcher.CombinableEitherMatcher<LHS>`

`

`either(Matcher<? super LHS> matcher)`
Creates a matcher that matches when either of the specified matchers match the examined object.

`protected boolean` `matchesSafely(T item, Description mismatch)` Subclasses should implement this.
`CombinableMatcher<T>` `or(Matcher<? super T> other)`

Methods inherited from class org.hamcrest.TypeSafeDiagnosingMatcher
`describeMismatch, matches`

Methods inherited from class org.hamcrest.BaseMatcher
`_dont_implement_Matcher___instead_extend_BaseMatcher_, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### CombinableMatcher

    public CombinableMatcher(Matcher<? super T> matcher)

Method Detail

### matchesSafely

    protected boolean matchesSafely(T item,
                                    Description mismatch)

  Description copied from class: `TypeSafeDiagnosingMatcher`
  Subclasses should implement this. The item will already have been checked for the specific type and will never be null.

  Specified by:
    `matchesSafely` in class `TypeSafeDiagnosingMatcher<T>`

### 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.

  Parameters:
    `description` - The description to be built or appended to.

### and

    public CombinableMatcher<T> and(Matcher<? super T> other)

### or

    public CombinableMatcher<T> or(Matcher<? super T> other)

### both

    public static <LHS> CombinableMatcher.CombinableBothMatcher<LHS> both(Matcher<? super LHS> matcher)

  Creates a matcher that matches when both of the specified matchers match the examined object.

  For example:

      assertThat("fab", both(containsString("a")).and(containsString("b")))

### either

    public static <LHS> CombinableMatcher.CombinableEitherMatcher<LHS> either(Matcher<? super LHS> matcher)

  Creates a matcher that matches when either of the specified matchers match the examined object.

  For example:

      assertThat("fan", either(containsString("a")).and(containsString("b")))

Copyright © 2002–2020 JUnit. All rights reserved.