    001    package org.hamcrest;
    002
    003    /**
    004     * The ability of an object to describe itself.
    005     */
    006    public interface SelfDescribing {
    007        /**
    008         * Generates a description of the object.  The description may be part of a
    009         * a description of a larger object of which this is just a component, so it
    010         * should be worded appropriately.
    011         *
    012         * @param description
    013         *     The description to be built or appended to.
    014         */
    015        void describeTo(Description description);
    016    }