Class UnambiguousCvTermComparator

  • All Implemented Interfaces:
    Comparator<CvTerm>

    public class UnambiguousCvTermComparator
    extends CvTermComparator
    Unambiguous comparator for CvTerms : If one CvTerm does not have any identifiers, it will only compare the short names (case insensitive). If both CvTerm objects have identifiers, it will look for exact same collection of identifiers using UnambiguousExternalIdentifierComparator and ignores all the other properties. - Two CvTerms which are null are equals - The CvTerm which is not null is before null. - If the two external identifiers are set, use UnambiguousExternalIdentifier comparator - The CvTerm without an external identifier is after the CvTerm with an identifier (do not compare short names if we have one external identifier) - When both CvTerms do not have an external identifier, it compares the short names (case insensitive) which cannot be null
    Since:
    18/12/12
    Version:
    $Id$
    Author:
    Marine Dumousseau (marine@ebi.ac.uk)
    • Constructor Detail

      • UnambiguousCvTermComparator

        public UnambiguousCvTermComparator()
        Creates a new CvTermComparator with UnambiguousExternalIdentifierComparator
    • Method Detail

      • areEquals

        public static boolean areEquals​(CvTerm cv1,
                                        CvTerm cv2)
        Use UnambiguousCvTermComparator to know if two CvTerms are equals.
        Parameters:
        cv1 - a CvTerm object.
        cv2 - a CvTerm object.
        Returns:
        true if the two CvTerms are equal
      • hashCode

        public static int hashCode​(CvTerm cv1)

        hashCode

        Parameters:
        cv1 - a CvTerm object.
        Returns:
        the hashcode consistent with the equals method for this comparator