Class AssembledChronology

All Implemented Interfaces:
Serializable
Direct Known Subclasses:
BuddhistChronology, CopticChronology, EthiopicChronology, GJChronology, GregorianChronology, IslamicChronology, ISOChronology, JulianChronology, LenientChronology, LimitChronology, StrictChronology, ZonedChronology

public abstract class AssembledChronology extends BaseChronology
Abstract Chronology that enables chronologies to be assembled from a container of fields.

AssembledChronology is thread-safe and immutable.

Since:
1.0
Author:
Brian S O'Neill
See Also:
  • Constructor Details

    • AssembledChronology

      protected AssembledChronology(Chronology base, Object param)
      Constructor calls the assemble method, enabling subclasses to define its supported fields. If a base chronology is supplied, the field set initially contains references to each base chronology field.

      Other methods in this class will delegate to the base chronology, if it can be determined that the base chronology will produce the same results as AbstractChronology.

      Parameters:
      base - optional base chronology to copy initial fields from
      param - optional param object available for assemble method
  • Method Details

    • getZone

      public DateTimeZone getZone()
      Description copied from class: BaseChronology
      Returns the DateTimeZone that this Chronology operates in, or null if unspecified.
      Specified by:
      getZone in class BaseChronology
      Returns:
      DateTimeZone null if unspecified
    • getDateTimeMillis

      public long getDateTimeMillis(int year, int monthOfYear, int dayOfMonth, int millisOfDay) throws 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 BaseChronology
      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:
      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 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 BaseChronology
      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:
      IllegalArgumentException - if the values are invalid
    • getDateTimeMillis

      public long getDateTimeMillis(long instant, int hourOfDay, int minuteOfHour, int secondOfMinute, int millisOfSecond) throws 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 BaseChronology
      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:
      IllegalArgumentException - if the values are invalid
    • millis

      public final DurationField millis()
      Description copied from class: BaseChronology
      Get the millis duration field for this chronology.
      Overrides:
      millis in class BaseChronology
      Returns:
      DurationField or UnsupportedDurationField if unsupported
    • millisOfSecond

      public final DateTimeField millisOfSecond()
      Description copied from class: BaseChronology
      Get the millis of second field for this chronology.
      Overrides:
      millisOfSecond in class BaseChronology
      Returns:
      DateTimeField or UnsupportedDateTimeField if unsupported
    • millisOfDay

      public final DateTimeField millisOfDay()
      Description copied from class: BaseChronology
      Get the millis of day field for this chronology.
      Overrides:
      millisOfDay in class BaseChronology
      Returns:
      DateTimeField or UnsupportedDateTimeField if unsupported
    • seconds

      public final DurationField seconds()
      Description copied from class: BaseChronology
      Get the seconds duration field for this chronology.
      Overrides:
      seconds in class BaseChronology
      Returns:
      DurationField or UnsupportedDurationField if unsupported
    • secondOfMinute

      public final DateTimeField secondOfMinute()
      Description copied from class: BaseChronology
      Get the second of minute field for this chronology.
      Overrides:
      secondOfMinute in class BaseChronology
      Returns:
      DateTimeField or UnsupportedDateTimeField if unsupported
    • secondOfDay

      public final DateTimeField secondOfDay()
      Description copied from class: BaseChronology
      Get the second of day field for this chronology.
      Overrides:
      secondOfDay in class BaseChronology
      Returns:
      DateTimeField or UnsupportedDateTimeField if unsupported
    • minutes

      public final DurationField minutes()
      Description copied from class: BaseChronology
      Get the minutes duration field for this chronology.
      Overrides:
      minutes in class BaseChronology
      Returns:
      DurationField or UnsupportedDurationField if unsupported
    • minuteOfHour

      public final DateTimeField minuteOfHour()
      Description copied from class: BaseChronology
      Get the minute of hour field for this chronology.
      Overrides:
      minuteOfHour in class BaseChronology
      Returns:
      DateTimeField or UnsupportedDateTimeField if unsupported
    • minuteOfDay

      public final DateTimeField minuteOfDay()
      Description copied from class: BaseChronology
      Get the minute of day field for this chronology.
      Overrides:
      minuteOfDay in class BaseChronology
      Returns:
      DateTimeField or UnsupportedDateTimeField if unsupported
    • hours

      public final DurationField hours()
      Description copied from class: BaseChronology
      Get the hours duration field for this chronology.
      Overrides:
      hours in class BaseChronology
      Returns:
      DurationField or UnsupportedDurationField if unsupported
    • hourOfDay

      public final DateTimeField hourOfDay()
      Description copied from class: BaseChronology
      Get the hour of day (0-23) field for this chronology.
      Overrides:
      hourOfDay in class BaseChronology
      Returns:
      DateTimeField or UnsupportedDateTimeField if unsupported
    • clockhourOfDay

      public final DateTimeField clockhourOfDay()
      Description copied from class: BaseChronology
      Get the hour of day (offset to 1-24) field for this chronology.
      Overrides:
      clockhourOfDay in class BaseChronology
      Returns:
      DateTimeField or UnsupportedDateTimeField if unsupported
    • halfdays

      public final DurationField halfdays()
      Description copied from class: BaseChronology
      Get the halfdays duration field for this chronology.
      Overrides:
      halfdays in class BaseChronology
      Returns:
      DurationField or UnsupportedDurationField if unsupported
    • hourOfHalfday

      public final DateTimeField hourOfHalfday()
      Description copied from class: BaseChronology
      Get the hour of am/pm (0-11) field for this chronology.
      Overrides:
      hourOfHalfday in class BaseChronology
      Returns:
      DateTimeField or UnsupportedDateTimeField if unsupported
    • clockhourOfHalfday

      public final DateTimeField clockhourOfHalfday()
      Description copied from class: BaseChronology
      Get the hour of am/pm (offset to 1-12) field for this chronology.
      Overrides:
      clockhourOfHalfday in class BaseChronology
      Returns:
      DateTimeField or UnsupportedDateTimeField if unsupported
    • halfdayOfDay

      public final DateTimeField halfdayOfDay()
      Description copied from class: BaseChronology
      Get the AM(0) PM(1) field for this chronology.
      Overrides:
      halfdayOfDay in class BaseChronology
      Returns:
      DateTimeField or UnsupportedDateTimeField if unsupported
    • days

      public final DurationField days()
      Description copied from class: BaseChronology
      Get the days duration field for this chronology.
      Overrides:
      days in class BaseChronology
      Returns:
      DurationField or UnsupportedDurationField if unsupported
    • dayOfWeek

      public final DateTimeField dayOfWeek()
      Description copied from class: BaseChronology
      Get the day of week field for this chronology.

      DayOfWeek values are defined in DateTimeConstants. They use the ISO definitions, where 1 is Monday and 7 is Sunday.

      Overrides:
      dayOfWeek in class BaseChronology
      Returns:
      DateTimeField or UnsupportedDateTimeField if unsupported
    • dayOfMonth

      public final DateTimeField dayOfMonth()
      Description copied from class: BaseChronology
      Get the day of month field for this chronology.
      Overrides:
      dayOfMonth in class BaseChronology
      Returns:
      DateTimeField or UnsupportedDateTimeField if unsupported
    • dayOfYear

      public final DateTimeField dayOfYear()
      Description copied from class: BaseChronology
      Get the day of year field for this chronology.
      Overrides:
      dayOfYear in class BaseChronology
      Returns:
      DateTimeField or UnsupportedDateTimeField if unsupported
    • weeks

      public final DurationField weeks()
      Description copied from class: BaseChronology
      Get the weeks duration field for this chronology.
      Overrides:
      weeks in class BaseChronology
      Returns:
      DurationField or UnsupportedDurationField if unsupported
    • weekOfWeekyear

      public final DateTimeField weekOfWeekyear()
      Description copied from class: BaseChronology
      Get the week of a week based year field for this chronology.
      Overrides:
      weekOfWeekyear in class BaseChronology
      Returns:
      DateTimeField or UnsupportedDateTimeField if unsupported
    • weekyears

      public final DurationField weekyears()
      Description copied from class: BaseChronology
      Get the weekyears duration field for this chronology.
      Overrides:
      weekyears in class BaseChronology
      Returns:
      DurationField or UnsupportedDurationField if unsupported
    • weekyear

      public final DateTimeField weekyear()
      Description copied from class: BaseChronology
      Get the year of a week based year field for this chronology.
      Overrides:
      weekyear in class BaseChronology
      Returns:
      DateTimeField or UnsupportedDateTimeField if unsupported
    • weekyearOfCentury

      public final DateTimeField weekyearOfCentury()
      Description copied from class: BaseChronology
      Get the year of a week based year in a century field for this chronology.
      Overrides:
      weekyearOfCentury in class BaseChronology
      Returns:
      DateTimeField or UnsupportedDateTimeField if unsupported
    • months

      public final DurationField months()
      Description copied from class: BaseChronology
      Get the months duration field for this chronology.
      Overrides:
      months in class BaseChronology
      Returns:
      DurationField or UnsupportedDurationField if unsupported
    • monthOfYear

      public final DateTimeField monthOfYear()
      Description copied from class: BaseChronology
      Get the month of year field for this chronology.
      Overrides:
      monthOfYear in class BaseChronology
      Returns:
      DateTimeField or UnsupportedDateTimeField if unsupported
    • years

      public final DurationField years()
      Description copied from class: BaseChronology
      Get the years duration field for this chronology.
      Overrides:
      years in class BaseChronology
      Returns:
      DurationField or UnsupportedDurationField if unsupported
    • year

      public final DateTimeField year()
      Description copied from class: BaseChronology
      Get the year field for this chronology.
      Overrides:
      year in class BaseChronology
      Returns:
      DateTimeField or UnsupportedDateTimeField if unsupported
    • yearOfEra

      public final DateTimeField yearOfEra()
      Description copied from class: BaseChronology
      Get the year of era field for this chronology.
      Overrides:
      yearOfEra in class BaseChronology
      Returns:
      DateTimeField or UnsupportedDateTimeField if unsupported
    • yearOfCentury

      public final DateTimeField yearOfCentury()
      Description copied from class: BaseChronology
      Get the year of century field for this chronology.
      Overrides:
      yearOfCentury in class BaseChronology
      Returns:
      DateTimeField or UnsupportedDateTimeField if unsupported
    • centuries

      public final DurationField centuries()
      Description copied from class: BaseChronology
      Get the centuries duration field for this chronology.
      Overrides:
      centuries in class BaseChronology
      Returns:
      DurationField or UnsupportedDurationField if unsupported
    • centuryOfEra

      public final DateTimeField centuryOfEra()
      Description copied from class: BaseChronology
      Get the century of era field for this chronology.
      Overrides:
      centuryOfEra in class BaseChronology
      Returns:
      DateTimeField or UnsupportedDateTimeField if unsupported
    • eras

      public final DurationField eras()
      Description copied from class: BaseChronology
      Get the eras duration field for this chronology.
      Overrides:
      eras in class BaseChronology
      Returns:
      DurationField or UnsupportedDurationField if unsupported
    • era

      public final DateTimeField era()
      Description copied from class: BaseChronology
      Get the era field for this chronology.
      Overrides:
      era in class BaseChronology
      Returns:
      DateTimeField or UnsupportedDateTimeField if unsupported
    • assemble

      protected abstract void assemble(AssembledChronology.Fields fields)
      Invoked by the constructor and after deserialization to allow subclasses to define all of its supported fields. All unset fields default to unsupported instances.
      Parameters:
      fields - container of fields
    • getBase

      protected final Chronology getBase()
      Returns the same base chronology as passed into the constructor.
      Returns:
      the base chronology
    • getParam

      protected final Object getParam()
      Returns the same param object as passed into the constructor.
      Returns:
      the object parameter