org.joda.time
Class DateTimeComparator
java.lang.Object
org.joda.time.DateTimeComparator
- Comparator, Serializable
public class DateTimeComparator
extends java.lang.Object
implements Comparator, Serializable
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.
- Guy Allard
- Stephen Colebourne
- Brian S O'Neill
DateTimeComparator
protected DateTimeComparator(DateTimeFieldType lowerLimit,
DateTimeFieldType upperLimit)
Restricted constructor.
lowerLimit
- the lower field limit, null means no limitupperLimit
- the upper field limit, null means no limit
compare
public int compare(Object lhsObj,
Object rhsObj)
Compare two objects against only the range of date time fields as
specified in the constructor.
lhsObj
- the first object,
logically on the left of a < comparison, null means nowrhsObj
- the second object,
logically on the right of a < comparison, null means now
- zero if order does not matter,
negative value if lhsObj < rhsObj, positive value otherwise.
equals
public boolean equals(Object object)
Compares this comparator to another.
object
- the object to compare to
getDateOnlyInstance
public static DateTimeComparator getDateOnlyInstance()
Returns a comparator that only considers date fields.
Time of day is ignored.
- a comparator over all date fields
getInstance
public static DateTimeComparator getInstance()
Returns a DateTimeComparator the compares the entire date time value.
- a comparator over all fields
getInstance
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.
lowerLimit
- inclusive lower limit for fields to be compared, null means no limit
- a comparator over all fields above the lower limit
getInstance
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.
lowerLimit
- inclusive lower limit for fields to be compared, null means no limitupperLimit
- exclusive upper limit for fields to be compared, null means no limit
- a comparator over all fields between the limits
getLowerLimit
public DateTimeFieldType getLowerLimit()
Gets the field type that represents the lower limit of comparison.
- the field type, null if no upper limit
getTimeOnlyInstance
public static DateTimeComparator getTimeOnlyInstance()
Returns a comparator that only considers time fields.
Date is ignored.
- a comparator over all time fields
getUpperLimit
public DateTimeFieldType getUpperLimit()
Gets the field type that represents the upper limit of comparison.
- the field type, null if no upper limit
hashCode
public int hashCode()
Gets a suitable hashcode.
toString
public String toString()
Gets a debugging string.
Copyright (c) 2001-2006 - Joda.org