org.joda.time.chrono

Class AssembledChronology

Implemented Interfaces:
Serializable
Known Direct Subclasses:
BuddhistChronology, GJChronology, ISOChronology, 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.

Author:
Brian S O'Neill
Since:
1.0

Nested Class Summary

static class
AssembledChronology.Fields
A container of fields used for assembling a chronology.

Constructor Summary

AssembledChronology(Chronology base, Object param)
Constructor calls the assemble method, enabling subclasses to define its supported fields.

Method Summary

protected abstract void
assemble(AssembledChronology.Fields fields)
Invoked by the constructor and after deserialization to allow subclasses to define all of its supported fields.
DurationField
centuries()
Get the centuries duration field for this chronology.
DateTimeField
centuryOfEra()
Get the century of era field for this chronology.
DateTimeField
clockhourOfDay()
Get the hour of day (offset to 1-24) field for this chronology.
DateTimeField
clockhourOfHalfday()
Get the hour of am/pm (offset to 1-12) field for this chronology.
DateTimeField
dayOfMonth()
Get the day of month field for this chronology.
DateTimeField
dayOfWeek()
Get the day of week field for this chronology.
DateTimeField
dayOfYear()
Get the day of year field for this chronology.
DurationField
days()
Get the days duration field for this chronology.
DateTimeField
era()
Get the era field for this chronology.
DurationField
eras()
Get the eras duration field for this chronology.
protected Chronology
getBase()
Returns the same base chronology as passed into the constructor.
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.
protected Object
getParam()
Returns the same param object as passed into the constructor.
DateTimeZone
getZone()
Returns the DateTimeZone that this Chronology operates in, or null if unspecified.
DateTimeField
halfdayOfDay()
Get the AM(0) PM(1) field for this chronology.
DurationField
halfdays()
Get the halfdays duration field for this chronology.
DateTimeField
hourOfDay()
Get the hour of day (0-23) field for this chronology.
DateTimeField
hourOfHalfday()
Get the hour of am/pm (0-11) field for this chronology.
DurationField
hours()
Get the hours duration field for this chronology.
DurationField
millis()
Get the millis duration field for this chronology.
DateTimeField
millisOfDay()
Get the millis of day field for this chronology.
DateTimeField
millisOfSecond()
Get the millis of second field for this chronology.
DateTimeField
minuteOfDay()
Get the minute of day field for this chronology.
DateTimeField
minuteOfHour()
Get the minute of hour field for this chronology.
DurationField
minutes()
Get the minutes duration field for this chronology.
DateTimeField
monthOfYear()
Get the month of year field for this chronology.
DurationField
months()
Get the months duration field for this chronology.
DateTimeField
secondOfDay()
Get the second of day field for this chronology.
DateTimeField
secondOfMinute()
Get the second of minute field for this chronology.
DurationField
seconds()
Get the seconds duration field for this chronology.
DateTimeField
weekOfWeekyear()
Get the week of a week based year field for this chronology.
DurationField
weeks()
Get the weeks duration field for this chronology.
DateTimeField
weekyear()
Get the year of a week based year field for this chronology.
DateTimeField
weekyearOfCentury()
Get the year of a week based year in a century field for this chronology.
DurationField
weekyears()
Get the weekyears duration field for this chronology.
DateTimeField
year()
Get the year field for this chronology.
DateTimeField
yearOfCentury()
Get the year of century field for this chronology.
DateTimeField
yearOfEra()
Get the year of era field for this chronology.
DurationField
years()
Get the years duration field for this chronology.

Methods inherited from class org.joda.time.chrono.BaseChronology

add, add, centuries, centuryOfEra, clockhourOfDay, clockhourOfHalfday, dayOfMonth, dayOfWeek, dayOfYear, days, era, eras, get, get, get, getDateTimeMillis, getDateTimeMillis, getDateTimeMillis, getZone, halfdayOfDay, halfdays, hourOfDay, hourOfHalfday, hours, millis, millisOfDay, millisOfSecond, minuteOfDay, minuteOfHour, minutes, monthOfYear, months, secondOfDay, secondOfMinute, seconds, set, toString, validate, weekOfWeekyear, weeks, weekyear, weekyearOfCentury, weekyears, withUTC, withZone, year, yearOfCentury, yearOfEra, years

Methods inherited from class org.joda.time.Chronology

add, add, centuries, centuryOfEra, clockhourOfDay, clockhourOfHalfday, dayOfMonth, dayOfWeek, dayOfYear, days, era, eras, get, get, get, getBuddhist, getBuddhist, getBuddhistUTC, getCoptic, getCoptic, getCopticUTC, getDateTimeMillis, getDateTimeMillis, getDateTimeMillis, getGJ, getGJ, getGJUTC, getGregorian, getGregorian, getGregorianUTC, getISO, getISO, getISOUTC, getJulian, getJulian, getJulianUTC, getZone, halfdayOfDay, halfdays, hourOfDay, hourOfHalfday, hours, millis, millisOfDay, millisOfSecond, minuteOfDay, minuteOfHour, minutes, monthOfYear, months, secondOfDay, secondOfMinute, seconds, set, toString, validate, weekOfWeekyear, weeks, weekyear, weekyearOfCentury, weekyears, withUTC, withZone, year, yearOfCentury, yearOfEra, years

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 avalable for assemble method

Method Details

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

centuries

public final DurationField centuries()
Get the centuries duration field for this chronology.
Overrides:
centuries in interface BaseChronology
Returns:
DurationField or UnsupportedDurationField if unsupported

centuryOfEra

public final DateTimeField centuryOfEra()
Get the century of era field for this chronology.
Overrides:
centuryOfEra in interface BaseChronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

clockhourOfDay

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

clockhourOfHalfday

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

dayOfMonth

public final DateTimeField dayOfMonth()
Get the day of month field for this chronology.
Overrides:
dayOfMonth in interface BaseChronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

dayOfWeek

public final DateTimeField dayOfWeek()
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 interface BaseChronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

dayOfYear

public final DateTimeField dayOfYear()
Get the day of year field for this chronology.
Overrides:
dayOfYear in interface BaseChronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

days

public final DurationField days()
Get the days duration field for this chronology.
Overrides:
days in interface BaseChronology
Returns:
DurationField or UnsupportedDurationField if unsupported

era

public final DateTimeField era()
Get the era field for this chronology.
Overrides:
era in interface BaseChronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

eras

public final DurationField eras()
Get the eras duration field for this chronology.
Overrides:
eras in interface BaseChronology
Returns:
DurationField or UnsupportedDurationField if unsupported

getBase

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

getDateTimeMillis

public long getDateTimeMillis(int year,
                              int monthOfYear,
                              int dayOfMonth,
                              int millisOfDay)
            throws IllegalArgumentException
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 interface 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

getDateTimeMillis

public long getDateTimeMillis(int year,
                              int monthOfYear,
                              int dayOfMonth,
                              int hourOfDay,
                              int minuteOfHour,
                              int secondOfMinute,
                              int millisOfSecond)
            throws IllegalArgumentException
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 interface 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

getDateTimeMillis

public long getDateTimeMillis(long instant,
                              int hourOfDay,
                              int minuteOfHour,
                              int secondOfMinute,
                              int millisOfSecond)
            throws IllegalArgumentException
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 interface 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

getParam

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

getZone

public DateTimeZone getZone()
Returns the DateTimeZone that this Chronology operates in, or null if unspecified.
Overrides:
getZone in interface BaseChronology
Returns:
DateTimeZone null if unspecified

halfdayOfDay

public final DateTimeField halfdayOfDay()
Get the AM(0) PM(1) field for this chronology.
Overrides:
halfdayOfDay in interface BaseChronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

halfdays

public final DurationField halfdays()
Get the halfdays duration field for this chronology.
Overrides:
halfdays in interface BaseChronology
Returns:
DurationField or UnsupportedDurationField if unsupported

hourOfDay

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

hourOfHalfday

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

hours

public final DurationField hours()
Get the hours duration field for this chronology.
Overrides:
hours in interface BaseChronology
Returns:
DurationField or UnsupportedDurationField if unsupported

millis

public final DurationField millis()
Get the millis duration field for this chronology.
Overrides:
millis in interface BaseChronology
Returns:
DurationField or UnsupportedDurationField if unsupported

millisOfDay

public final DateTimeField millisOfDay()
Get the millis of day field for this chronology.
Overrides:
millisOfDay in interface BaseChronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

millisOfSecond

public final DateTimeField millisOfSecond()
Get the millis of second field for this chronology.
Overrides:
millisOfSecond in interface BaseChronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

minuteOfDay

public final DateTimeField minuteOfDay()
Get the minute of day field for this chronology.
Overrides:
minuteOfDay in interface BaseChronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

minuteOfHour

public final DateTimeField minuteOfHour()
Get the minute of hour field for this chronology.
Overrides:
minuteOfHour in interface BaseChronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

minutes

public final DurationField minutes()
Get the minutes duration field for this chronology.
Overrides:
minutes in interface BaseChronology
Returns:
DurationField or UnsupportedDurationField if unsupported

monthOfYear

public final DateTimeField monthOfYear()
Get the month of year field for this chronology.
Overrides:
monthOfYear in interface BaseChronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

months

public final DurationField months()
Get the months duration field for this chronology.
Overrides:
months in interface BaseChronology
Returns:
DurationField or UnsupportedDurationField if unsupported

secondOfDay

public final DateTimeField secondOfDay()
Get the second of day field for this chronology.
Overrides:
secondOfDay in interface BaseChronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

secondOfMinute

public final DateTimeField secondOfMinute()
Get the second of minute field for this chronology.
Overrides:
secondOfMinute in interface BaseChronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

seconds

public final DurationField seconds()
Get the seconds duration field for this chronology.
Overrides:
seconds in interface BaseChronology
Returns:
DurationField or UnsupportedDurationField if unsupported

weekOfWeekyear

public final DateTimeField weekOfWeekyear()
Get the week of a week based year field for this chronology.
Overrides:
weekOfWeekyear in interface BaseChronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

weeks

public final DurationField weeks()
Get the weeks duration field for this chronology.
Overrides:
weeks in interface BaseChronology
Returns:
DurationField or UnsupportedDurationField if unsupported

weekyear

public final DateTimeField weekyear()
Get the year of a week based year field for this chronology.
Overrides:
weekyear in interface BaseChronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

weekyearOfCentury

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

weekyears

public final DurationField weekyears()
Get the weekyears duration field for this chronology.
Overrides:
weekyears in interface BaseChronology
Returns:
DurationField or UnsupportedDurationField if unsupported

year

public final DateTimeField year()
Get the year field for this chronology.
Overrides:
year in interface BaseChronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

yearOfCentury

public final DateTimeField yearOfCentury()
Get the year of century field for this chronology.
Overrides:
yearOfCentury in interface BaseChronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

yearOfEra

public final DateTimeField yearOfEra()
Get the year of era field for this chronology.
Overrides:
yearOfEra in interface BaseChronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

years

public final DurationField years()
Get the years duration field for this chronology.
Overrides:
years in interface BaseChronology
Returns:
DurationField or UnsupportedDurationField if unsupported

Copyright (c) 2001-2006 - Joda.org