Package org.joda.time.chrono
Class LimitChronology
- java.lang.Object
 - 
- org.joda.time.Chronology
 - 
- org.joda.time.chrono.BaseChronology
 - 
- org.joda.time.chrono.AssembledChronology
 - 
- org.joda.time.chrono.LimitChronology
 
 
 
 
 
- 
- All Implemented Interfaces:
 java.io.Serializable
public final class LimitChronology extends AssembledChronology
Wraps another Chronology to impose limits on the range of instants that the fields within a Chronology may support. The limits are applied to both DateTimeFields and DurationFields.Methods in DateTimeField and DurationField throw an IllegalArgumentException whenever given an input instant that is outside the limits or when an attempt is made to move an instant outside the limits.
LimitChronology is thread-safe and immutable.
- Since:
 - 1.0
 - See Also:
 - Serialized Form
 
 
- 
- 
Nested Class Summary
- 
Nested classes/interfaces inherited from class org.joda.time.chrono.AssembledChronology
AssembledChronology.Fields 
 - 
 
- 
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object obj)A limit chronology is only equal to a limit chronology with the same base chronology and limits.longgetDateTimeMillis(int year, int monthOfYear, int dayOfMonth, int millisOfDay)Returns a datetime millisecond instant, formed from the given year, month, day, and millisecond values.longgetDateTimeMillis(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour, int secondOfMinute, int millisOfSecond)Returns a datetime millisecond instant, formed from the given year, month, day, hour, minute, second, and millisecond values.longgetDateTimeMillis(long instant, int hourOfDay, int minuteOfHour, int secondOfMinute, int millisOfSecond)Returns a datetime millisecond instant, from from the given instant, hour, minute, second, and millisecond values.static LimitChronologygetInstance(Chronology base, ReadableDateTime lowerLimit, ReadableDateTime upperLimit)Wraps another chronology, with datetime limits.DateTimegetLowerLimit()Returns the inclusive lower limit instant.DateTimegetUpperLimit()Returns the inclusive upper limit instant.inthashCode()A suitable hashcode for the chronology.java.lang.StringtoString()A debugging string for the chronology.ChronologywithUTC()If this LimitChronology is already UTC, then this is returned.ChronologywithZone(DateTimeZone zone)If this LimitChronology has the same time zone as the one given, then this is returned.- 
Methods inherited from class org.joda.time.chrono.AssembledChronology
centuries, centuryOfEra, clockhourOfDay, clockhourOfHalfday, dayOfMonth, dayOfWeek, dayOfYear, days, era, eras, getZone, halfdayOfDay, halfdays, hourOfDay, hourOfHalfday, hours, millis, millisOfDay, millisOfSecond, minuteOfDay, minuteOfHour, minutes, monthOfYear, months, secondOfDay, secondOfMinute, seconds, weekOfWeekyear, weeks, weekyear, weekyearOfCentury, weekyears, year, yearOfCentury, yearOfEra, years 
 - 
 
 - 
 
- 
- 
Method Detail
- 
getInstance
public static LimitChronology getInstance(Chronology base, ReadableDateTime lowerLimit, ReadableDateTime upperLimit)
Wraps another chronology, with datetime limits. When withUTC or withZone is called, the returned LimitChronology instance has the same limits, except they are time zone adjusted.- Parameters:
 base- base chronology to wraplowerLimit- inclusive lower limit, or null if noneupperLimit- exclusive upper limit, or null if none- Throws:
 java.lang.IllegalArgumentException- if chronology is null or limits are invalid
 
- 
getLowerLimit
public DateTime getLowerLimit()
Returns the inclusive lower limit instant.- Returns:
 - lower limit
 
 
- 
getUpperLimit
public DateTime getUpperLimit()
Returns the inclusive upper limit instant.- Returns:
 - upper limit
 
 
- 
withUTC
public Chronology withUTC()
If this LimitChronology is already UTC, then this is returned. Otherwise, a new instance is returned, with the limits adjusted to the new time zone.- Specified by:
 withUTCin classBaseChronology- Returns:
 - a version of this chronology that ignores time zones
 
 
- 
withZone
public Chronology withZone(DateTimeZone zone)
If this LimitChronology has the same time zone as the one given, then this is returned. Otherwise, a new instance is returned, with the limits adjusted to the new time zone.- Specified by:
 withZonein classBaseChronology- Parameters:
 zone- to use, or default if null- Returns:
 - a version of this chronology with a specific time zone
 - See Also:
 ZonedChronology
 
- 
getDateTimeMillis
public long getDateTimeMillis(int year, int monthOfYear, int dayOfMonth, int millisOfDay) throws java.lang.IllegalArgumentExceptionDescription copied from class:BaseChronologyReturns a datetime millisecond instant, formed from the given year, month, day, and millisecond values. The set of given values must refer to a valid datetime, or else an IllegalArgumentException is thrown.The default implementation calls upon separate DateTimeFields to determine the result. Subclasses are encouraged to provide a more efficient implementation.
- Overrides:
 getDateTimeMillisin classAssembledChronology- Parameters:
 year- year to usemonthOfYear- month to usedayOfMonth- day of month to usemillisOfDay- millisecond to use- Returns:
 - millisecond instant from 1970-01-01T00:00:00Z
 - Throws:
 java.lang.IllegalArgumentException- if the values are invalid
 
- 
getDateTimeMillis
public long getDateTimeMillis(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour, int secondOfMinute, int millisOfSecond) throws java.lang.IllegalArgumentExceptionDescription copied from class:BaseChronologyReturns a datetime millisecond instant, formed from the given year, month, day, hour, minute, second, and millisecond values. The set of given values must refer to a valid datetime, or else an IllegalArgumentException is thrown.The default implementation calls upon separate DateTimeFields to determine the result. Subclasses are encouraged to provide a more efficient implementation.
- Overrides:
 getDateTimeMillisin classAssembledChronology- Parameters:
 year- year to usemonthOfYear- month to usedayOfMonth- day of month to usehourOfDay- hour to useminuteOfHour- minute to usesecondOfMinute- second to usemillisOfSecond- millisecond to use- Returns:
 - millisecond instant from 1970-01-01T00:00:00Z
 - Throws:
 java.lang.IllegalArgumentException- if the values are invalid
 
- 
getDateTimeMillis
public long getDateTimeMillis(long instant, int hourOfDay, int minuteOfHour, int secondOfMinute, int millisOfSecond) throws java.lang.IllegalArgumentExceptionDescription copied from class:BaseChronologyReturns a datetime millisecond instant, from from the given instant, hour, minute, second, and millisecond values. The set of given values must refer to a valid datetime, or else an IllegalArgumentException is thrown.The default implementation calls upon separate DateTimeFields to determine the result. Subclasses are encouraged to provide a more efficient implementation.
- Overrides:
 getDateTimeMillisin classAssembledChronology- Parameters:
 instant- instant to start fromhourOfDay- hour to useminuteOfHour- minute to usesecondOfMinute- second to usemillisOfSecond- millisecond to use- Returns:
 - millisecond instant from 1970-01-01T00:00:00Z
 - Throws:
 java.lang.IllegalArgumentException- if the values are invalid
 
- 
equals
public boolean equals(java.lang.Object obj)
A limit chronology is only equal to a limit chronology with the same base chronology and limits.- Overrides:
 equalsin classjava.lang.Object- Parameters:
 obj- the object to compare to- Returns:
 - true if equal
 - Since:
 - 1.4
 
 
- 
hashCode
public int hashCode()
A suitable hashcode for the chronology.- Overrides:
 hashCodein classjava.lang.Object- Returns:
 - the hashcode
 - Since:
 - 1.4
 
 
- 
toString
public java.lang.String toString()
A debugging string for the chronology.- Specified by:
 toStringin classBaseChronology- Returns:
 - the debugging string
 
 
 - 
 
 -