org.joda.time.chrono
Class BaseChronology

java.lang.Object
  extended by org.joda.time.Chronology
      extended by org.joda.time.chrono.BaseChronology
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
AssembledChronology

public abstract class BaseChronology
extends Chronology
implements Serializable

BaseChronology provides a skeleton implementation for chronology classes. Many utility methods are defined, but all fields are unsupported.

BaseChronology is thread-safe and immutable, and all subclasses must be as well.

Since:
1.0
Author:
Brian S O'Neill
See Also:
Serialized Form

Constructor Summary
protected BaseChronology()
          Restricted constructor.
 
Method Summary
 long add(long instant, long duration, int scalar)
          Adds the duration to the instant, specifying the number of times to add.
 long add(ReadablePeriod period, long instant, int scalar)
          Adds the period to the instant, specifying the number of times to add.
 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.
 int[] get(ReadablePartial partial, long instant)
          Gets the values of a partial from an instant.
 int[] get(ReadablePeriod period, long duration)
          Gets the values of a period from an interval.
 int[] get(ReadablePeriod period, long startInstant, long endInstant)
          Gets the values of a period from an interval.
 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.
abstract  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.
 long set(ReadablePartial partial, long instant)
          Sets the partial into the instant.
abstract  String toString()
          Gets a debugging toString.
 void validate(ReadablePartial partial, int[] values)
          Validates whether the fields stored in a partial instant are valid.
 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.
abstract  Chronology withUTC()
          Returns an instance of this Chronology that operates in the UTC time zone.
abstract  Chronology withZone(DateTimeZone zone)
          Returns an instance of this Chronology that operates in any time zone.
 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 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BaseChronology

protected BaseChronology()
Restricted constructor.

Method Detail

getZone

public abstract DateTimeZone getZone()
Returns the DateTimeZone that this Chronology operates in, or null if unspecified.

Specified by:
getZone in class Chronology
Returns:
DateTimeZone null if unspecified

withUTC

public abstract Chronology withUTC()
Returns an instance of this Chronology that operates in the UTC time zone. Chronologies that do not operate in a time zone or are already UTC must return themself.

Specified by:
withUTC in class Chronology
Returns:
a version of this chronology that ignores time zones

withZone

public abstract Chronology withZone(DateTimeZone zone)
Returns an instance of this Chronology that operates in any time zone.

Specified by:
withZone in class Chronology
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 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.

Specified by:
getDateTimeMillis in class Chronology
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
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.

Specified by:
getDateTimeMillis in class Chronology
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
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.

Specified by:
getDateTimeMillis in class Chronology
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

validate

public void validate(ReadablePartial partial,
                     int[] values)
Validates whether the fields stored in a partial instant are valid.

This implementation uses DateTimeField.getMinimumValue(ReadablePartial, int[]) and DateTimeField.getMaximumValue(ReadablePartial, int[]).

Specified by:
validate in class Chronology
Parameters:
partial - the partial instant to validate
values - the values to validate, not null unless the partial is empty
Throws:
IllegalArgumentException - if the instant is invalid

get

public int[] get(ReadablePartial partial,
                 long instant)
Gets the values of a partial from an instant.

Specified by:
get in class Chronology
Parameters:
partial - the partial instant to use
instant - the instant to query
Returns:
the values of the partial extracted from the instant

set

public long set(ReadablePartial partial,
                long instant)
Sets the partial into the instant.

Specified by:
set in class Chronology
Parameters:
partial - the partial instant to use
instant - the instant to update
Returns:
the updated instant

get

public int[] get(ReadablePeriod period,
                 long startInstant,
                 long endInstant)
Gets the values of a period from an interval.

Specified by:
get in class Chronology
Parameters:
period - the period instant to use
startInstant - the start instant of an interval to query
endInstant - the start instant of an interval to query
Returns:
the values of the period extracted from the interval

get

public int[] get(ReadablePeriod period,
                 long duration)
Gets the values of a period from an interval.

Specified by:
get in class Chronology
Parameters:
period - the period instant to use
duration - the duration to query
Returns:
the values of the period extracted from the duration

add

public long add(ReadablePeriod period,
                long instant,
                int scalar)
Adds the period to the instant, specifying the number of times to add.

Specified by:
add in class Chronology
Parameters:
period - the period to add, null means add nothing
instant - the instant to add to
scalar - the number of times to add
Returns:
the updated instant

add

public long add(long instant,
                long duration,
                int scalar)
Adds the duration to the instant, specifying the number of times to add.

Specified by:
add in class Chronology
Parameters:
instant - the instant to add to
duration - the duration to add
scalar - the number of times to add
Returns:
the updated instant

millis

public DurationField millis()
Get the millis duration field for this chronology.

Specified by:
millis in class Chronology
Returns:
DurationField or UnsupportedDurationField if unsupported

millisOfSecond

public DateTimeField millisOfSecond()
Get the millis of second field for this chronology.

Specified by:
millisOfSecond in class Chronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

millisOfDay

public DateTimeField millisOfDay()
Get the millis of day field for this chronology.

Specified by:
millisOfDay in class Chronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

seconds

public DurationField seconds()
Get the seconds duration field for this chronology.

Specified by:
seconds in class Chronology
Returns:
DurationField or UnsupportedDurationField if unsupported

secondOfMinute

public DateTimeField secondOfMinute()
Get the second of minute field for this chronology.

Specified by:
secondOfMinute in class Chronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

secondOfDay

public DateTimeField secondOfDay()
Get the second of day field for this chronology.

Specified by:
secondOfDay in class Chronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

minutes

public DurationField minutes()
Get the minutes duration field for this chronology.

Specified by:
minutes in class Chronology
Returns:
DurationField or UnsupportedDurationField if unsupported

minuteOfHour

public DateTimeField minuteOfHour()
Get the minute of hour field for this chronology.

Specified by:
minuteOfHour in class Chronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

minuteOfDay

public DateTimeField minuteOfDay()
Get the minute of day field for this chronology.

Specified by:
minuteOfDay in class Chronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

hours

public DurationField hours()
Get the hours duration field for this chronology.

Specified by:
hours in class Chronology
Returns:
DurationField or UnsupportedDurationField if unsupported

hourOfDay

public DateTimeField hourOfDay()
Get the hour of day (0-23) field for this chronology.

Specified by:
hourOfDay in class Chronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

clockhourOfDay

public DateTimeField clockhourOfDay()
Get the hour of day (offset to 1-24) field for this chronology.

Specified by:
clockhourOfDay in class Chronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

halfdays

public DurationField halfdays()
Get the halfdays duration field for this chronology.

Specified by:
halfdays in class Chronology
Returns:
DurationField or UnsupportedDurationField if unsupported

hourOfHalfday

public DateTimeField hourOfHalfday()
Get the hour of am/pm (0-11) field for this chronology.

Specified by:
hourOfHalfday in class Chronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

clockhourOfHalfday

public DateTimeField clockhourOfHalfday()
Get the hour of am/pm (offset to 1-12) field for this chronology.

Specified by:
clockhourOfHalfday in class Chronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

halfdayOfDay

public DateTimeField halfdayOfDay()
Get the AM(0) PM(1) field for this chronology.

Specified by:
halfdayOfDay in class Chronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

days

public DurationField days()
Get the days duration field for this chronology.

Specified by:
days in class Chronology
Returns:
DurationField or UnsupportedDurationField if unsupported

dayOfWeek

public 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.

Specified by:
dayOfWeek in class Chronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

dayOfMonth

public DateTimeField dayOfMonth()
Get the day of month field for this chronology.

Specified by:
dayOfMonth in class Chronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

dayOfYear

public DateTimeField dayOfYear()
Get the day of year field for this chronology.

Specified by:
dayOfYear in class Chronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

weeks

public DurationField weeks()
Get the weeks duration field for this chronology.

Specified by:
weeks in class Chronology
Returns:
DurationField or UnsupportedDurationField if unsupported

weekOfWeekyear

public DateTimeField weekOfWeekyear()
Get the week of a week based year field for this chronology.

Specified by:
weekOfWeekyear in class Chronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

weekyears

public DurationField weekyears()
Get the weekyears duration field for this chronology.

Specified by:
weekyears in class Chronology
Returns:
DurationField or UnsupportedDurationField if unsupported

weekyear

public DateTimeField weekyear()
Get the year of a week based year field for this chronology.

Specified by:
weekyear in class Chronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

weekyearOfCentury

public DateTimeField weekyearOfCentury()
Get the year of a week based year in a century field for this chronology.

Specified by:
weekyearOfCentury in class Chronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

months

public DurationField months()
Get the months duration field for this chronology.

Specified by:
months in class Chronology
Returns:
DurationField or UnsupportedDurationField if unsupported

monthOfYear

public DateTimeField monthOfYear()
Get the month of year field for this chronology.

Specified by:
monthOfYear in class Chronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

years

public DurationField years()
Get the years duration field for this chronology.

Specified by:
years in class Chronology
Returns:
DurationField or UnsupportedDurationField if unsupported

year

public DateTimeField year()
Get the year field for this chronology.

Specified by:
year in class Chronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

yearOfEra

public DateTimeField yearOfEra()
Get the year of era field for this chronology.

Specified by:
yearOfEra in class Chronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

yearOfCentury

public DateTimeField yearOfCentury()
Get the year of century field for this chronology.

Specified by:
yearOfCentury in class Chronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

centuries

public DurationField centuries()
Get the centuries duration field for this chronology.

Specified by:
centuries in class Chronology
Returns:
DurationField or UnsupportedDurationField if unsupported

centuryOfEra

public DateTimeField centuryOfEra()
Get the century of era field for this chronology.

Specified by:
centuryOfEra in class Chronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

eras

public DurationField eras()
Get the eras duration field for this chronology.

Specified by:
eras in class Chronology
Returns:
DurationField or UnsupportedDurationField if unsupported

era

public DateTimeField era()
Get the era field for this chronology.

Specified by:
era in class Chronology
Returns:
DateTimeField or UnsupportedDateTimeField if unsupported

toString

public abstract String toString()
Gets a debugging toString.

Specified by:
toString in class Chronology
Returns:
a debugging string


Copyright © 2002-2013 Joda.org. All Rights Reserved.