org.joda.time.chrono
Class CopticChronology

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

public final class CopticChronology
extends AssembledChronology

Implements the Coptic calendar system, which defines every fourth year as leap, much like the Julian calendar. The year is broken down into 12 months, each 30 days in length. An extra period at the end of the year is either 5 or 6 days in length. In this implementation, it is considered a 13th month.

Year 1 in the Coptic calendar began on August 29, 284 CE (Julian), thus Coptic years do not begin at the same time as Julian years. This chronology is not proleptic, as it does not allow dates before the first Coptic year.

This implementation defines a day as midnight to midnight exactly as per the ISO chronology. Some references indicate that a coptic day starts at sunset on the previous ISO day, but this has not been confirmed and is not implemented.

CopticChronology is thread-safe and immutable.

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

Nested Class Summary
 
Nested classes/interfaces inherited from class org.joda.time.chrono.AssembledChronology
AssembledChronology.Fields
 
Field Summary
static int AM
          Constant value for 'Anno Martyrum' or 'Era of the Martyrs', equivalent to the value returned for AD/CE.
 
Method Summary
protected  void assemble(AssembledChronology.Fields fields)
          Invoked by the constructor and after deserialization to allow subclasses to define all of its supported fields.
 boolean equals(Object obj)
          Checks if this chronology instance equals another.
 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.
static CopticChronology getInstance()
          Gets an instance of the CopticChronology in the default time zone.
static CopticChronology getInstance(DateTimeZone zone)
          Gets an instance of the CopticChronology in the given time zone.
static CopticChronology getInstance(DateTimeZone zone, int minDaysInFirstWeek)
          Gets an instance of the CopticChronology in the given time zone.
static CopticChronology getInstanceUTC()
          Gets an instance of the CopticChronology.
 int getMinimumDaysInFirstWeek()
           
 DateTimeZone getZone()
          Returns the DateTimeZone that this Chronology operates in, or null if unspecified.
 int hashCode()
          A suitable hash code for the chronology.
 String toString()
          Gets a debugging toString.
 Chronology withUTC()
          Gets the Chronology in the UTC time zone.
 Chronology withZone(DateTimeZone zone)
          Gets the Chronology in a specific time zone.
 
Methods inherited from class org.joda.time.chrono.AssembledChronology
centuries, centuryOfEra, clockhourOfDay, clockhourOfHalfday, dayOfMonth, dayOfWeek, dayOfYear, days, era, eras, getBase, getDateTimeMillis, getParam, halfdayOfDay, halfdays, hourOfDay, hourOfHalfday, hours, millis, millisOfDay, millisOfSecond, minuteOfDay, minuteOfHour, minutes, monthOfYear, months, secondOfDay, secondOfMinute, seconds, weekOfWeekyear, weeks, weekyear, weekyearOfCentury, weekyears, year, yearOfCentury, yearOfEra, years
 
Methods inherited from class org.joda.time.chrono.BaseChronology
add, add, get, get, get, set, validate
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

AM

public static final int AM
Constant value for 'Anno Martyrum' or 'Era of the Martyrs', equivalent to the value returned for AD/CE.

See Also:
Constant Field Values
Method Detail

getInstanceUTC

public static CopticChronology getInstanceUTC()
Gets an instance of the CopticChronology. The time zone of the returned instance is UTC.

Returns:
a singleton UTC instance of the chronology

getInstance

public static CopticChronology getInstance()
Gets an instance of the CopticChronology in the default time zone.

Returns:
a chronology in the default time zone

getInstance

public static CopticChronology getInstance(DateTimeZone zone)
Gets an instance of the CopticChronology in the given time zone.

Parameters:
zone - the time zone to get the chronology in, null is default
Returns:
a chronology in the specified time zone

getInstance

public static CopticChronology getInstance(DateTimeZone zone,
                                           int minDaysInFirstWeek)
Gets an instance of the CopticChronology in the given time zone.

Parameters:
zone - the time zone to get the chronology in, null is default
minDaysInFirstWeek - minimum number of days in first week of the year; default is 4
Returns:
a chronology in the specified time zone

withUTC

public Chronology withUTC()
Gets the Chronology in the UTC time zone.

Specified by:
withUTC in class BaseChronology
Returns:
the chronology in UTC

withZone

public Chronology withZone(DateTimeZone zone)
Gets the Chronology in a specific time zone.

Specified by:
withZone in class BaseChronology
Parameters:
zone - the zone to get the chronology in, null is default
Returns:
the chronology
See Also:
ZonedChronology

assemble

protected void assemble(AssembledChronology.Fields fields)
Description copied from class: AssembledChronology
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

getZone

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

Overrides:
getZone in class AssembledChronology
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 AssembledChronology
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 AssembledChronology
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

getMinimumDaysInFirstWeek

public int getMinimumDaysInFirstWeek()

equals

public boolean equals(Object obj)
Checks if this chronology instance equals another.

Overrides:
equals in class Object
Parameters:
obj - the object to compare to
Returns:
true if equal
Since:
1.6

hashCode

public int hashCode()
A suitable hash code for the chronology.

Overrides:
hashCode in class Object
Returns:
the hash code
Since:
1.6

toString

public String toString()
Gets a debugging toString.

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


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