Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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
Author:
  Brian S O'Neill, Stephen Colebourne
See Also:
  Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from class org.joda.time.chrono.AssembledChronology
`AssembledChronology.Fields`

Method Summary
`protected void` | `assemble(AssembledChronology.Fields fields)` Invoked by the constructor and after deserialization to allow subclasses to define all of its supported fields.
`boolean` | `equals(java.lang.Object obj)` A limit chronology is only equal to a limit chronology with the same base chronology and limits.
`long` | `getDateTimeMillis(int year, int monthOfYear, int dayOfMonth, int millisOfDay)` Returns a datetime millisecond instant, formed from the given year, month, day, and millisecond values.
`long` | `getDateTimeMillis(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.
`long` | `getDateTimeMillis(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 LimitChronology` | `getInstance(Chronology base, ReadableDateTime lowerLimit, ReadableDateTime upperLimit)` Wraps another chronology, with datetime limits.
`DateTime` | `getLowerLimit()` Returns the inclusive lower limit instant.
`DateTime` | `getUpperLimit()` Returns the inclusive upper limit instant.
`int` | `hashCode()` A suitable hashcode for the chronology.
`java.lang.String` | `toString()` A debugging string for the chronology.
`Chronology` | `withUTC()` If this LimitChronology is already UTC, then this is returned.
`Chronology` | `withZone(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, getBase, getParam, 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`

Methods inherited from class org.joda.time.chrono.BaseChronology
`add, add, get, get, get, set, validate`

Methods inherited from class org.joda.time.Chronology
`getBuddhist, getBuddhist, getBuddhistUTC, getCoptic, getCoptic, getCopticUTC, getGJ, getGJ, getGJUTC, getGregorian, getGregorian, getGregorianUTC, getISO, getISO, getISOUTC, getJulian, getJulian, getJulianUTC`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

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 wrap
    `lowerLimit` - inclusive lower limit, or null if none
    `upperLimit` - 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:
    `withUTC` in class `BaseChronology`
  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:
    `withZone` in class `BaseChronology`
  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.IllegalArgumentException

  Description copied from class: `BaseChronology`
  Returns 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:
    `getDateTimeMillis` in class `AssembledChronology`
  Parameters:
    `year` - year to use
    `monthOfYear` - month to use
    `dayOfMonth` - day of month to use
    `millisOfDay` - 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.IllegalArgumentException

  Description copied from class: `BaseChronology`
  Returns 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:
    `getDateTimeMillis` in class `AssembledChronology`
  Parameters:
    `year` - year to use
    `monthOfYear` - month to use
    `dayOfMonth` - day of month to use
    `hourOfDay` - hour to use
    `minuteOfHour` - minute to use
    `secondOfMinute` - second to use
    `millisOfSecond` - 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.IllegalArgumentException

  Description copied from class: `BaseChronology`
  Returns 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:
    `getDateTimeMillis` in class `AssembledChronology`
  Parameters:
    `instant` - instant to start from
    `hourOfDay` - hour to use
    `minuteOfHour` - minute to use
    `secondOfMinute` - second to use
    `millisOfSecond` - millisecond to use
  Returns:
    millisecond instant from 1970-01-01T00:00:00Z
  Throws:
    `java.lang.IllegalArgumentException` - if the values are invalid

### assemble

    protected void assemble(AssembledChronology.Fields fields)

  Description copied from class: `AssembledChronology`
  Invoked by the constructor and after deserialization to allow subclasses to define all of its supported fields. All unset fields default to unsupported instances.

  Specified by:
    `assemble` in class `AssembledChronology`
  Parameters:
    `fields` - container of fields

### 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:
    `equals` in class `java.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:
    `hashCode` in class `java.lang.Object`
  Returns:
    the hashcode
  Since:
    1.4

### toString

    public java.lang.String toString()

  A debugging string for the chronology.

  Specified by:
    `toString` in class `BaseChronology`
  Returns:
    the debugging string

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD