| package org.hamcrest; |
| |
| /** |
| * A description of a Matcher. A Matcher will describe itself to a description |
| * which can later be used for reporting. |
| * |
| * @see Matcher#describeTo(Description) |
| */ |
| public interface Description { |
| /** |
| * A description that consumes input but does nothing. |
| */ |
| static final Description NONE = new NullDescription(); |
| |
| /** |
| * Appends some plain text to the description. |
| */ |
| Description appendText(String text); |
| |
| /** |
| * Appends the description of a {@link SelfDescribing} value to this description. |
| */ |
| Description appendDescriptionOf(SelfDescribing value); |
| |
| /** |
| * Appends an arbitrary value to the description. |
| */ |
| Description appendValue(Object value); |
| |
| /** |
| * Appends a list of values to the description. |
| */ |
| <T> Description appendValueList(String start, String separator, String end, |
| T... values); |
| |
| /** |
| * Appends a list of values to the description. |
| */ |
| <T> Description appendValueList(String start, String separator, String end, |
| Iterable<T> values); |
| |
| /** |
| * Appends a list of {@link org.hamcrest.SelfDescribing} objects |
| * to the description. |
| */ |
| Description appendList(String start, String separator, String end, |
| Iterable<? extends SelfDescribing> values); |
| |
| |
| public static final class NullDescription implements Description { |
| @Override |
| public Description appendDescriptionOf(SelfDescribing value) { |
| return this; |
| } |
| |
| @Override |
| public Description appendList(String start, String separator, |
| String end, Iterable<? extends SelfDescribing> values) { |
| return this; |
| } |
| |
| @Override |
| public Description appendText(String text) { |
| return this; |
| } |
| |
| @Override |
| public Description appendValue(Object value) { |
| return this; |
| } |
| |
| @Override |
| public <T> Description appendValueList(String start, String separator, |
| String end, T... values) { |
| return this; |
| } |
| |
| @Override |
| public <T> Description appendValueList(String start, String separator, |
| String end, Iterable<T> values) { |
| return this; |
| } |
| |
| @Override |
| public String toString() { |
| return ""; |
| } |
| } |
| } |