Class Chronology

  extended by javax.time.calendar.Chronology
All Implemented Interfaces:
Direct Known Subclasses:
CopticChronology, HijrahChronology, HistoricChronology, ISOChronology, JapaneseChronology, JulianChronology, MinguoChronology, StandardChronology, ThaiBuddhistChronology

public abstract class Chronology
extends java.lang.Object
implements Calendrical

A calendar system, consisting of rules controlling the passage of human-scale time.

Calendar systems describe a set of fields that can be used to describe time in a human-scale. Typical fields include year, month-of-year and day-of-month.

This abstract base class provides a common mechanism to access the standard fields which are supported in the vast majority of calendar systems. Subclasses will provide the full set of fields for that calendar system.

The default chronology is ISO-8601 which is the de facto world calendar today.

This is an abstract class and must be implemented with care to ensure other classes in the framework operate correctly. All instantiable subclasses must be final, immutable and thread-safe. Wherever possible subclasses should be singletons with no public constructor. It is recommended that subclasses implement Serializable

Stephen Colebourne

Constructor Summary
protected Chronology()
          Restrictive constructor.
Method Summary
<T> T
get(CalendricalRule<T> ruleToDerive)
          Gets the value of the specified calendrical rule.
abstract  java.lang.String getName()
          Gets the name of the chronology.
static CalendricalRule<Chronology> rule()
          Gets the rule for Chronology.
 java.lang.String toString()
          Returns a textual description of the chronology.
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Constructor Detail


protected Chronology()
Restrictive constructor.

Method Detail


public static CalendricalRule<Chronology> rule()
Gets the rule for Chronology.

the rule for the chronology, not null


public <T> T get(CalendricalRule<T> ruleToDerive)
Gets the value of the specified calendrical rule.

This method queries the value of the specified calendrical rule. If the value cannot be returned for the rule from this offset then null will be returned.

Specified by:
get in interface Calendrical
ruleToDerive - the rule to derive, not null
the value for the rule, null if the value cannot be returned


public abstract java.lang.String getName()
Gets the name of the chronology.

The name should not have the suffix 'Chronology'. For example, the name of ISOChronology is 'ISO'.

the name of the chronology, not null


public java.lang.String toString()
Returns a textual description of the chronology.

toString in class java.lang.Object
a string form for debugging, not null