public class

DateTimeComparator

extends Object
implements Serializable Comparator<T>
java.lang.Object
   ↳ org.joda.time.DateTimeComparator

Class Overview

DateTimeComparator provides comparators to compare one date with another.

Dates may be specified using any object recognised by the ConverterManager class.

The default objects recognised by the comparator are:

  • ReadableInstant
  • String
  • Calendar
  • Date
  • Long (milliseconds)
  • null (now)

DateTimeComparator is thread-safe and immutable.

Summary

Protected Constructors
DateTimeComparator(DateTimeFieldType lowerLimit, DateTimeFieldType upperLimit)
Restricted constructor.
Public Methods
int compare(Object lhsObj, Object rhsObj)
Compare two objects against only the range of date time fields as specified in the constructor.
boolean equals(Object object)
Compares this comparator to another.
static DateTimeComparator getDateOnlyInstance()
Returns a comparator that only considers date fields.
static DateTimeComparator getInstance(DateTimeFieldType lowerLimit)
Returns a DateTimeComparator with a lower limit only.
static DateTimeComparator getInstance()
Returns a DateTimeComparator the compares the entire date time value.
static DateTimeComparator getInstance(DateTimeFieldType lowerLimit, DateTimeFieldType upperLimit)
Returns a DateTimeComparator with a lower and upper limit.
DateTimeFieldType getLowerLimit()
Gets the field type that represents the lower limit of comparison.
static DateTimeComparator getTimeOnlyInstance()
Returns a comparator that only considers time fields.
DateTimeFieldType getUpperLimit()
Gets the field type that represents the upper limit of comparison.
int hashCode()
Gets a suitable hashcode.
String toString()
Gets a debugging string.
[Expand]
Inherited Methods
From class java.lang.Object
From interface java.util.Comparator

Protected Constructors

protected DateTimeComparator (DateTimeFieldType lowerLimit, DateTimeFieldType upperLimit)

Restricted constructor.

Parameters
lowerLimit the lower field limit, null means no limit
upperLimit the upper field limit, null means no limit

Public Methods

public int compare (Object lhsObj, Object rhsObj)

Compare two objects against only the range of date time fields as specified in the constructor.

Parameters
lhsObj the first object, logically on the left of a < comparison, null means now
rhsObj the second object, logically on the right of a < comparison, null means now
Returns
  • zero if order does not matter, negative value if lhsObj < rhsObj, positive value otherwise.
Throws
IllegalArgumentException if either argument is not supported

public boolean equals (Object object)

Compares this comparator to another.

Parameters
object the object to compare to
Returns
  • true if equal

public static DateTimeComparator getDateOnlyInstance ()

Returns a comparator that only considers date fields. Time of day is ignored.

Returns
  • a comparator over all date fields

public static DateTimeComparator getInstance (DateTimeFieldType lowerLimit)

Returns a DateTimeComparator with a lower limit only. Fields of a magnitude less than the lower limit are excluded from comparisons.

Parameters
lowerLimit inclusive lower limit for fields to be compared, null means no limit
Returns
  • a comparator over all fields above the lower limit

public static DateTimeComparator getInstance ()

Returns a DateTimeComparator the compares the entire date time value.

Returns
  • a comparator over all fields

public static DateTimeComparator getInstance (DateTimeFieldType lowerLimit, DateTimeFieldType upperLimit)

Returns a DateTimeComparator with a lower and upper limit. Fields of a magnitude less than the lower limit are excluded from comparisons. Fields of a magnitude greater than or equal to the upper limit are also excluded from comparisons. Either limit may be specified as null, which indicates an unbounded limit.

Parameters
lowerLimit inclusive lower limit for fields to be compared, null means no limit
upperLimit exclusive upper limit for fields to be compared, null means no limit
Returns
  • a comparator over all fields between the limits

public DateTimeFieldType getLowerLimit ()

Gets the field type that represents the lower limit of comparison.

Returns
  • the field type, null if no upper limit

public static DateTimeComparator getTimeOnlyInstance ()

Returns a comparator that only considers time fields. Date is ignored.

Returns
  • a comparator over all time fields

public DateTimeFieldType getUpperLimit ()

Gets the field type that represents the upper limit of comparison.

Returns
  • the field type, null if no upper limit

public int hashCode ()

Gets a suitable hashcode.

Returns
  • the hashcode

public String toString ()

Gets a debugging string.

Returns
  • a debugging string