package uk.ac.ebi.ep.base.comparison; import java.util.Map; /** * Basic comparison of objects to state if they differ or not. * * @author rafa * @since 1.1.0 * */ public interface Comparison<T> { /** * Do these objects differ? * * @return <code>true</code> if there is something different. */ public boolean isDifferent(); /** * Getter for the compared items. * * @return the compared items. */ public T[] getCompared(); /** * Retrieves the underlying comparisons made in order to know if the objects * differ. * * @return A map of keywords (representing the compared items) to * comparisons. */ public Map<String, Comparison<?>> getSubComparisons(); }