Package: groovy.util

## [Java] Class OrderBy<T>

- groovy.util.OrderBy

- All Implemented Interfaces and Traits:
    Comparator, Serializable

      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 Summary

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

  - ### Methods Summary

    Methods
    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)` {@inheritDoc}
    `` | `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.

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Object` | `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### public OrderBy()

      Creates an ordering with no comparison closures.

    - #### public OrderBy(boolean equalityCheck)

      Creates an ordering with no comparison closures.

      Parameters:
        `equalityCheck` - whether equality-only comparison should be used for non-comparable values

    - #### public OrderBy(Closure closure)

      Creates an ordering using a single comparison closure.

      Parameters:
        `closure` - the comparison closure

    - #### 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

    - #### public OrderBy(List<Closure> closures)

      Creates an ordering using the supplied comparison closures.

      Parameters:
        `closures` - the comparison closures

    - #### 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 Detail

    - #### public void add(Closure closure)

      Adds a comparison closure evaluated after any existing closures.

      Parameters:
        `closure` - the comparison closure to add

    - #### public int compare(T object1, T object2)

      {@inheritDoc}

    - #### public boolean isEqualityCheck()

      Indicates whether equality-only comparison is enabled for non-comparable values.

      Returns:
        `true` if equality-only comparison is enabled

    - #### public void setEqualityCheck(boolean equalityCheck)

      Enables or disables equality-only comparison for non-comparable values.

      Parameters:
        `equalityCheck` - `true` to enable equality-only comparison