Top Description Fields Constructors Methods
groovy.util

public Class ClosureComparator<T>

extends Object
implements Comparator<T>, Serializable
Class Inheritance
All Implemented Interfaces
java.io.Serializable, java.util.Comparator
Imports
groovy.lang.Closure, org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation, java.io.Serializable, java.util.Comparator

A Comparator which uses a closure to compare 2 values being equal

Field Summary

Modifier and TypeField and Description
pack-priv Closure<V>
private static final long

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public int
compare(T
the first object to be compared.
object1
,
T
the second object to be compared.
object2
)

Implements java.util.Comparator.compare.

Compares its two arguments for order.
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

closureback to summary
pack-priv Closure<V> closure
serialVersionUIDback to summary
private static final long serialVersionUID

Constructor Detail

ClosureComparatorback to summary
public ClosureComparator(Closure<V> closure)

Method Detail

compareback to summary
public int compare(T object1, T object2)

Implements java.util.Comparator.compare.

Doc from java.util.Comparator.compare.

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(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.

Parameters
object1:T

the first object to be compared.

object2:T

the second object to be compared.

Returns:int

a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.