Class PropertyComparator
- java.lang.Object
-
- com.avoka.core.util.PropertyComparator
-
- All Implemented Interfaces:
Comparator
- Direct Known Subclasses:
IDPropertyComparator
,PropertyComparatorDesc
,VersionPropertyComparator
public class PropertyComparator extends Object implements Comparator
Provides a object property string comparator. Comparison is done by retrieving the property values for both objects, then comparing them (ignoring case) using aStringComparator
or a custom Comparator.- See Also:
StringComparator
-
-
Field Summary
Fields Modifier and Type Field Description protected Comparator
comparator
protected String
property
-
Constructor Summary
Constructors Constructor Description PropertyComparator()
Create a new string comparator, comparing the specified object.PropertyComparator(String property)
Create a new property comparator, comparing the specified object property.PropertyComparator(String property, Comparator comparator)
Create a new string comparator, comparing the specified object property.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
compare(Object object1, Object object2)
Compares its two arguments for order.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.util.Comparator
equals, reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
-
-
-
-
Field Detail
-
property
protected String property
-
comparator
protected Comparator comparator
-
-
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 comparecomparator
- 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 interfaceComparator
- 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)
-
-