Class NodeComparator

  • All Implemented Interfaces:
    java.util.Comparator

    public class NodeComparator
    extends java.lang.Object
    implements java.util.Comparator

    NodeComparator is a Comparatorof Node instances which is capable of comparing Nodes for equality based on their values.

    Version:
    $Revision: 1.10 $
    Author:
    James Strachan
    • Constructor Detail

      • NodeComparator

        public NodeComparator()
    • Method Detail

      • compare

        public int compare​(java.lang.Object o1,
                           java.lang.Object o2)
        Compares its two arguments for order. Returns a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.

        The implementor must ensure that sgn(compare(x, y)) == -sgn(compare(y, x)) for all x and y. (This implies that compare(x, y) must throw an exception if and only if compare(y, x) throws an exception.)

        The implementor must also ensure that the relation is transitive: ((compare(x, y)>0) && (compare(y, z)>0)) implies compare(x, z)>0.

        Finally, the implementer must ensure that compare(x, y)==0 implies that sgn(compare(x, z))==sgn(compare(y, z)) for all z.

        It is generally the case, but not strictly required that (compare(x, y)==0) == (x.equals(y)). Generally speaking, any comparator that violates this condition should clearly indicate this fact. The recommended language is "Note: this comparator imposes orderings that are inconsistent with equals."

        Specified by:
        compare in interface java.util.Comparator
        Parameters:
        o1 - the first object to be compared.
        o2 - the second object to be compared.
        Returns:
        a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.
      • compare

        public int compare​(Node n1,
                           Node n2)
      • compare

        public int compare​(QName n1,
                           QName n2)
      • compareContent

        public int compareContent​(Branch b1,
                                  Branch b2)
      • compare

        public int compare​(java.lang.String o1,
                           java.lang.String o2)