--- old/src/share/classes/java/time/chrono/ThaiBuddhistEra.java 2013-04-11 23:15:42.000000000 -0700 +++ new/src/share/classes/java/time/chrono/ThaiBuddhistEra.java 2013-04-11 23:15:42.000000000 -0700 @@ -24,6 +24,11 @@ */ /* + * This file is available under and governed by the GNU General Public + * License version 2 only, as published by the Free Software Foundation. + * However, the following notice accompanied the original version of this + * file: + * * Copyright (c) 2012, Stephen Colebourne & Michael Nascimento Santos * * All rights reserved. @@ -56,7 +61,6 @@ */ package java.time.chrono; - import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; @@ -66,37 +70,66 @@ * An era in the Thai Buddhist calendar system. *

* The Thai Buddhist calendar system has two eras. + * The current era, for years from 1 onwards, is known as the 'Buddhist' era. + * All previous years, zero or earlier in the proleptic count or one and greater + * in the year-of-era count, are part of the 'Before Buddhist' era. *

- * Do not use ordinal() to obtain the numeric representation of a ThaiBuddhistEra - * instance. Use getValue() instead. + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
year-of-eraeraproleptic-yearISO proleptic-year
2BE2-542
1BE1-543
1BEFORE_BE0-544
2BEFORE_BE-1-545
+ *

+ * Do not use {@code ordinal()} to obtain the numeric representation of {@code ThaiBuddhistEra}. + * Use {@code getValue()} instead. * *

Specification for implementors

* This is an immutable and thread-safe enum. * * @since 1.8 */ -enum ThaiBuddhistEra implements Era { +public enum ThaiBuddhistEra implements Era { /** * The singleton instance for the era before the current one, 'Before Buddhist Era', - * which has the value 0. + * which has the numeric value 0. */ BEFORE_BE, /** - * The singleton instance for the current era, 'Buddhist Era', which has the value 1. + * The singleton instance for the current era, 'Buddhist Era', + * which has the numeric value 1. */ BE; //----------------------------------------------------------------------- /** - * Obtains an instance of {@code ThaiBuddhistEra} from a value. + * Obtains an instance of {@code ThaiBuddhistEra} from an {@code int} value. *

- * The current era (from ISO year -543 onwards) has the value 1 - * The previous era has the value 0. + * {@code ThaiBuddhistEra} is an enum representing the Thai Buddhist eras of BEFORE_BE/BE. + * This factory allows the enum to be obtained from the {@code int} value. * * @param thaiBuddhistEra the era to represent, from 0 to 1 * @return the BuddhistEra singleton, never null - * @throws IllegalCalendarFieldValueException if the era is invalid + * @throws DateTimeException if the era is invalid */ public static ThaiBuddhistEra of(int thaiBuddhistEra) { switch (thaiBuddhistEra) { @@ -105,16 +138,15 @@ case 1: return BE; default: - throw new DateTimeException("Era is not valid for ThaiBuddhistEra"); + throw new DateTimeException("Invalid era: " + thaiBuddhistEra); } } //----------------------------------------------------------------------- /** - * Gets the era numeric value. + * Gets the numeric era {@code int} value. *

- * The current era (from ISO year -543 onwards) has the value 1 - * The previous era has the value 0. + * The era BEFORE_BE has the value 0, while the era BE has the value 1. * * @return the era value, from 0 (BEFORE_BE) to 1 (BE) */ @@ -123,23 +155,6 @@ return ordinal(); } - @Override - public ThaiBuddhistChronology getChronology() { - return ThaiBuddhistChronology.INSTANCE; - } - - // JDK8 default methods: - //----------------------------------------------------------------------- - @Override - public ThaiBuddhistDate date(int year, int month, int day) { - return (ThaiBuddhistDate)(getChronology().date(this, year, month, day)); - } - - @Override - public ThaiBuddhistDate dateYearDay(int year, int dayOfYear) { - return (ThaiBuddhistDate)(getChronology().dateYearDay(this, year, dayOfYear)); - } - //----------------------------------------------------------------------- private Object writeReplace() { return new Ser(Ser.THAIBUDDHIST_ERA_TYPE, this);