javax.time.calendar
Class Chronology

java.lang.Object
  extended by javax.time.calendar.Chronology
All Implemented Interfaces:
Calendrical
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

Author:
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

Chronology

protected Chronology()
Restrictive constructor.

Method Detail

rule

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

Returns:
the rule for the chronology, not null

get

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
Parameters:
ruleToDerive - the rule to derive, not null
Returns:
the value for the rule, null if the value cannot be returned

getName

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

Returns:
the name of the chronology, not null

toString

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

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