Package groovy.util

Class OrderBy<T>

java.lang.Object
groovy.util.OrderBy<T>
All Implemented Interfaces:
Serializable, Comparator<T>

public class OrderBy<T> extends Object implements Comparator<T>, Serializable
A helper class for sorting objects via a closure to return the field or operation on which to sort.
See Also:
  • Constructor Details

    • OrderBy

      public OrderBy()
      Creates an ordering with no comparison closures.
    • OrderBy

      public OrderBy(boolean equalityCheck)
      Creates an ordering with no comparison closures.
      Parameters:
      equalityCheck - whether equality-only comparison should be used for non-comparable values
    • OrderBy

      public OrderBy(Closure closure)
      Creates an ordering using a single comparison closure.
      Parameters:
      closure - the comparison closure
    • OrderBy

      public OrderBy(Closure closure, boolean equalityCheck)
      Creates an ordering using a single comparison closure.
      Parameters:
      closure - the comparison closure
      equalityCheck - whether equality-only comparison should be used for non-comparable values
    • OrderBy

      public OrderBy(List<Closure> closures)
      Creates an ordering using the supplied comparison closures.
      Parameters:
      closures - the comparison closures
    • OrderBy

      public OrderBy(List<Closure> closures, boolean equalityCheck)
      Creates an ordering using the supplied comparison closures.
      Parameters:
      closures - the comparison closures
      equalityCheck - whether equality-only comparison should be used for non-comparable values
  • Method Details

    • add

      public void add(Closure closure)
      Adds a comparison closure evaluated after any existing closures.
      Parameters:
      closure - the comparison closure to add
    • compare

      public int compare(T object1, T object2)
      Specified by:
      compare in interface Comparator<T>
    • isEqualityCheck

      public boolean isEqualityCheck()
      Indicates whether equality-only comparison is enabled for non-comparable values.
      Returns:
      true if equality-only comparison is enabled
    • setEqualityCheck

      public void setEqualityCheck(boolean equalityCheck)
      Enables or disables equality-only comparison for non-comparable values.
      Parameters:
      equalityCheck - true to enable equality-only comparison