Class ExactExternalIdentifierComparator

  • All Implemented Interfaces:
    Comparator<Xref>

    public class ExactExternalIdentifierComparator
    extends UnambiguousExternalIdentifierComparator
    Exact comparator for external identifiers (Xref database and id). It compares first the databases using UnambiguousCvTermComparator, then the ids (case sensitive) and then the version. To compare the databases, it looks first at the PSI-MI ids if at least one of the database has a PSI-MI id, otherwise it looks at the database shortlabel only. - Two external identifiers which are null are equals - The external identifier which is not null is before null. - If the two external identifiers are set : - compare the databases. If both databases are equal, compare the ids (is case sensitive) - if both ids are the same, compares the versions.
    Since:
    20/12/12
    Version:
    $Id$
    Author:
    Marine Dumousseau (marine@ebi.ac.uk)
    • Constructor Detail

      • ExactExternalIdentifierComparator

        public ExactExternalIdentifierComparator()

        Constructor for ExactExternalIdentifierComparator.

    • Method Detail

      • compare

        public int compare​(Xref externalIdentifier1,
                           Xref externalIdentifier2)
        It compares first the databases using UnambiguousCvTermComparator, then the ids (case sensitive) and then the version. To compare the databases, it looks first at the PSI-MI ids if at least one of the database has a PSI-MI id, otherwise it looks at the database shortlabel only. - Two external identifiers which are null are equals - The external identifier which is not null is before null. - If the two external identifiers are set : - compare the databases. If both databases are equal, compare the ids (is case sensitive) - if both ids are the same, compares the versions.
        Specified by:
        compare in interface Comparator<Xref>
        Overrides:
        compare in class UnambiguousExternalIdentifierComparator
        Parameters:
        externalIdentifier1 - a Xref object.
        externalIdentifier2 - a Xref object.
        Returns:
        a int.
      • areEquals

        public static boolean areEquals​(Xref externalIdentifier1,
                                        Xref externalIdentifier2)
        Use ExactExternalIdentifierComparator to know if two external identifiers are equals.
      • hashCode

        public static int hashCode​(Xref externalIdentifier1)