public class OrderBy<T>
extends Object
implements Comparator, Serializable
A helper class for sorting objects via a closure to return the field or operation on which to sort.
| Constructor and description |
|---|
OrderBy()Creates an ordering with no comparison closures. |
OrderBy(boolean equalityCheck)Creates an ordering with no comparison closures. |
OrderBy(Closure closure)Creates an ordering using a single comparison closure. |
OrderBy(Closure closure, boolean equalityCheck)Creates an ordering using a single comparison closure. |
OrderBy(List<Closure> closures)Creates an ordering using the supplied comparison closures. |
OrderBy(List<Closure> closures, boolean equalityCheck)Creates an ordering using the supplied comparison closures. |
| Type Params | Return Type | Name and description |
|---|---|---|
|
public void |
add(Closure closure)Adds a comparison closure evaluated after any existing closures. |
|
public int |
compare(T object1, T 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 signum
The implementor must also ensure that the relation is transitive:
Finally, the implementor must ensure that
|
|
public boolean |
isEqualityCheck()Indicates whether equality-only comparison is enabled for non-comparable values. |
|
public void |
setEqualityCheck(boolean equalityCheck)Enables or disables equality-only comparison for non-comparable values. |
Creates an ordering with no comparison closures.
Creates an ordering with no comparison closures.
equalityCheck - whether equality-only comparison should be used for non-comparable valuesCreates an ordering using a single comparison closure.
closure - the comparison closureCreates an ordering using a single comparison closure.
closure - the comparison closureequalityCheck - whether equality-only comparison should be used for non-comparable valuesCreates an ordering using the supplied comparison closures.
closures - the comparison closuresAdds a comparison closure evaluated after any existing closures.
closure - the comparison closure to addCompares 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 signum(compare(x, y)) == -signum(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 implementor must ensure that compare(x,
y)==0 implies that signum(compare(x,
z))==signum(compare(y, z)) for all z.
(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."o1 - the first object to be compared.o2 - the second object to be compared.Indicates whether equality-only comparison is enabled for non-comparable values.
true if equality-only comparison is enabledEnables or disables equality-only comparison for non-comparable values.
equalityCheck - true to enable equality-only comparisonCopyright © 2003-2026 The Apache Software Foundation. All rights reserved.