Class PropertyComparator

    • Constructor Detail

      • PropertyComparator

        public PropertyComparator​(String property)
        Create a new property comparator, comparing the specified object property.
        Parameters:
        property - the name of the property to compare
      • PropertyComparator

        public PropertyComparator​(String property,
                                  Comparator comparator)
        Create a new string comparator, comparing the specified object property.
        Parameters:
        property - the name of the property to compare
        comparator - the comparator to use when comparing the property values
      • PropertyComparator

        public PropertyComparator()
        Create a new string comparator, comparing the specified object.
    • Method Detail

      • compare

        public int compare​(Object object1,
                           Object object2)
        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 Comparator
        Parameters:
        object1 - the first object to be compared.
        object2 - 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.
        Throws:
        ClassCastException - if the arguments' types prevent them from being compared by this Comparator.
        See Also:
        Comparator.compare(Object, Object)