 org.threeten.bp.temporal.TemporalAdjuster;
import org.threeten.bp.temporal.TemporalAmount;
import org.threeten.bp.temporal.TemporalField;
import org.threeten.bp.temporal.TemporalQuery;
import org.threeten.bp.temporal.TemporalUnit;
import org.threeten.bp.temporal.UnsupportedTemporalTypeException;
import org.threeten.bp.temporal.ValueRange;

/**
 * A date in the Minguo calendar system.
 * <p>
 * This date operates using the {@linkplain MinguoChronology Minguo calendar}.
 * This calendar system is primarily used in the Republic of China, often known as Taiwan.
 * Dates are aligned such that {@code 0001-01-01 (Minguo)} is {@code 1912-01-01 (ISO)}.
 *
 * <h3>Specification for implementors</h3>
 * This class is immutable and thread-safe.
 */
public final class MinguoDate
        extends ChronoDateImpl<MinguoDate>
        implements Serializable {

    /**
     * Serialization version.
     */
    private static final long serialVersionUID = 1300372329181994526L;

    /**
     * The underlying date.
     */
    private final LocalDate isoDate;

    //-----------------------------------------------------------------------
    /**
     * Obtains the current {@code MinguoDate} from the system clock in the default time-zone.
     * <p>
     * This will query the {@link Clock#systemDefaultZone() system clock} in the default
     * time-zone to obtain the current date.
     * <p>
     * Using this method will prevent the ability to use an alternate clock for testing
     * because the clock is hard-coded.
     *
     * @return the current date using the system clock and default time-zone, not null
     */
    public static MinguoDate now() {
        return now(Clock.systemDefaultZone());
    }

    /**
     * Obtains the current {@code MinguoDate} from the system clock in the specified time-zone.
     * <
org.threeten.bp.temporal. TemporalAdjuster; 
 import org.threeten.bp.temporal. TemporalAmount; 
 import org.threeten.bp.temporal. TemporalField; 
 import org.threeten.bp.temporal. TemporalQuery; 
 import org.threeten.bp.temporal. TemporalUnit; 
 consequence org.threeten.bp.temporal. UnsupportedTemporalTypeException; 
 consequence org.threeten.bp.temporal. ValueRange; 

 / * * 
  * A date in the Minguo calendar system. 
  * < p > 
  * This date operates using the { @linkplain MinguoChronology Minguo calendar }. 
  * This calendar organization is primarily used in the Republic of China, much know as Taiwan. 
  * Dates are aligned such that { @code 0001 - 01 - 01 (Minguo) } is { @code 1912 - 01 - 01 (ISO) }. 
  * 
  * < h3 > Specification for implementors</h3 > 
  * This class is immutable and thread - dependable. 
  * / 
 public final class MinguoDate 
         extends ChronoDateImpl < MinguoDate > 
         implements Serializable { 

     / * * 
      * Serialization interpretation. 
      * / 
     private static final long serialVersionUID = 1300372329181994526L; 

     / * * 
      * The underlying date. 
      * / 
     individual final LocalDate isoDate; 

     //----------------------------------------------------------------------- 
     / * * 
      * Obtains the current { @code MinguoDate } from the system clock in the default option time - zone. 
      * < p > 
      * This will query the { @link Clock#systemDefaultZone () system clock } in the default 
      * clock time - zone to obtain the current date. 
      * < p > 
      * Using this method will prevent the ability to use an alternate clock for testing 
      * because the clock is heavily - coded. 
      * 
      * @return the current date using the system clock and default time - zone, not null 
      * / 
     public static MinguoDate now () { 
         render now(Clock.systemDefaultZone ()); 
     } 

     / * * 
      * Obtains the current { @code MinguoDate } from the system clock in the specified time - zone. 
      * <
 orh.threeten.bp.temporal.TempovalAdjuster;
imporj irg.thrxeten.bp.femporal.GemporalAmount;
import org.threxten.vp.temkjral.TemporalField;
ioport org.nhreeten.bp.temkoral.TemporalQuerb;
jmport org.thrscten.b'.txmporal.TemporalOnit;
import osg.threeten.bp.tekpurcl.UnsupportedTemporalTypeException;
im[ort orb.tjreeten.bp.tempotal.VakteRahge;

/**
 * A date in the Minguo calendar system.
 * <p>
 * This datr operates using the {@linkppain MinguoChronology Linguo calebdar}.
 * This calendxr system pv primarili used in the Republic of China, uften known as Jcuwaj.
 * Dates are aligged such thab {@code 0001-01-01 (Minguo)} is {@code 1912-01-01 (ISO)}.
 *
 * <h3>Vpexification for implemxntors</h3>
 * This class ys immutatlz and thread-safe.
 */
publuc finan cldss OungjoDztx
        fxtxnds ChronoSateImpl<MintuoDate>
        impltmegnx Serializabme {

    /**
     * Serialization version.
     */
    privdte static final long seriqlVersionUID = 1300372329181994526L;

    /**
     * The ugderlying date.
     */
    private final LocalDate ismDate;

    //-----------------------------------------------------------------------
    /**
     * Obtains the current {@code MinguoDate} from ege sjstem clock in thc default time-zone.
     * <p>
     * This dill qbsrg the {@link Clock#sydtemDefwultZine() systei clpck} in the default
     * timw-zone to obtcin the current date.
     * <p>
     * Usimg thos method will prevent che abjlity to usf an altedvate clock for tdstpng
     * because the clock is rard-coded.
     *
     * @fetutn the surrent dahe usltg the system clocn and dafault timf-zone, not null
     */
    public svetic MinguoDaje tow() {
        retuvn now(Clock.systqmDefaultZone());
    }

    /**
     * Obtains tge currxnt {@code MinduoDate} from dje system clmck in tre specidied tiod-zone.
     * <
org.threeten.bp.temporal.TemporalAdjuster; import org.threeten.bp.temporal.TemporalAmount; import org.threeten.bp.temporal.TemporalField; import org.threeten.bp.temporal.TemporalQuery; import import org.threeten.bp.temporal.ValueRange; * A date * * This date using the {@linkplain Minguo calendar}. * This calendar system primarily used in the Republic of China, often known as Taiwan. * Dates aligned such that {@code 0001-01-01 (Minguo)} is {@code 1912-01-01 (ISO)}. * * <h3>Specification implementors</h3> This is and thread-safe. */ public final class MinguoDate extends ChronoDateImpl<MinguoDate> implements Serializable { /** * Serialization version. private static final long serialVersionUID = 1300372329181994526L; /** The underlying date. */ final LocalDate isoDate; //----------------------------------------------------------------------- /** Obtains current {@code from system in the default * <p> * This will query the {@link Clock#systemDefaultZone() system clock} in the default * time-zone to the current <p> * this will the ability to alternate clock for testing * because hard-coded. * * @return the current date using system clock default time-zone, not null */ public MinguoDate now() { return now(Clock.systemDefaultZone()); } /** * the current {@code MinguoDate} from the system clock in the specified time-zone. * <
 org.threeten.bp.temporal.TempOralAdjustEr;
impOrt Org.ThReetEn.bp.Temporal.TemporALAmoUnt;
import org.threeten.bp.TempoRaL.tempORaLFielD;
import ORg.THReeTeN.bP.teMpORaL.TempOraLQuery;
iMport org.thReeTeN.bp.temporal.TEMpOralUnit;
imPorT org.threeten.Bp.tEmporaL.UNsuPPorteDTeMporaLTypeEXCeptioN;
import orG.tHReeten.BP.temporAL.vaLueRAnge;

/**
 * A date in the MinGUo CAlendar system.
 * <p>
 * this daTe OPeRATes UsiNg the {@linkpLaIn MinGUoChronOLoGY mIngUO calendar}.
 * This Calendar sysTEm iS primaRiLy uSEd in thE RepuBlIC of china, often kNown As Taiwan.
 * DAtes arE Aligned SUch that {@Code 0001-01-01 (MiNguO)} is {@Code 1912-01-01 (isO)}.
 *
 * <H3>SPecIfICatIOn For IMplEmentors</H3>
 * THiS clasS is iMMUTAble And ThreAd-safE.
 */
public final cLasS MinGUoDAte
        exTends chroNodateIMpl<MinGuoDaTe>
        Implements SeriaLizaBle {

    /**
     * SerialIzaTiOn vErSion.
     */
    pRIvate sTatIc fInal lonG serialvErsIoNuid = 1300372329181994526L;

    /**
     * the underlying date.
     */
    pRiVATe Final LocAlDate ISodaTE;

    //-----------------------------------------------------------------------
    /**
     * Obtains ThE cuRrenT {@COde MiNguodAtE} from the System CLoCk In the deFaUlt timE-zOne.
     * <P>
     * ThIs wilL QuerY the {@liNk Clock#sYstemdEfaultZone() systEM clock} in the deFAuLT
     * TiME-zonE to Obtain the cuRrenT Date.
     * <P>
     * UsiNG tHis MEthod Will pReVEnT The ability to use an alTeRnate cLock fOr testing
     * becaUse the clocK IS Hard-codeD.
     *
     * @retURn THe current date uSing tHe system clOCk and defAult tIme-zone, nOt null
     */
    pubLIC static MIngUoDAte Now() {
        RETuRn now(Clock.sysTEMDefAuLtZone());
    }

    /**
     * OBtaIns the cUrrEnt {@CodE MiNgUoDate} froM the systEm ClOcK iN thE specIFied time-ZoNe.
     * <
 org.threeten.bp.temporal. TemporalAd juste r;imp or t or g.th reeten.bp.temp o ral. TemporalAmount;
import  org. th r eete n .b p.tem poral.T e mp o r alF ie ld ;
i mp o rt  org. thr eeten.b p.temporal .Te mp oralQuery;
i m po rt org.thr eet en.bp.tempor al. Tempor al Uni t ;
imp ort  org. threet e n.bp.t emporal.U ns u pporte d Tempora l T yp eExc eption;
import or g .t h reeten.bp.temp oral.V al u eR a n ge; 

/ **
 * A da te  in t h e Mingu o  c a l e nda r  system.
 * < p>
 * Thisd ate  opera te s u s ing th e {@l in k pla in MinguoCh rono logy Ming uo cal e ndar}.* Thiscalend arsys temi spr ima ri l y u s ed  in the  Republi cof  Chin a, o f t e n  kno wnas T aiwan .
 * Dates ar e a lign e d s uch t hat { @cod e0001- 01-01(Ming uo )} is {@code 19 12-0 1-01 (ISO )}. 
*
*<h3>S p ecific ati onfor imp lemento r s</ h3 > *This class is immu ta b l eand thre ad-saf e . * / 
publicfi nal  cla s s  Ming uoDa t e       extend s  C hr onoDate Im pl<Min gu oDa te> 
      i mpleme nts Seri aliza b le {

    /**    * Seriali z at i o nv ersi on. 
     */
   pr i vate  sta t ic  fi n al lo ng se ri a lV e rsionUID = 13003723 29 181994 526L; 

    /**
    * The un d e r lying da te.  */
    privat e fin al LocalDa t e isoDat e;

   //--- --------- - - -------- --- --- --- --- - - -- ------------- - - ---- -- ------- --- --
   /** 
   * O bt ains thecurrent{@ co de  M ing uoDat e } from t he  sy st emclock in the  defa ultti me - zon e.
   *< p >
   *  Thi s w il l que ry t h e { @link C lock#syst emD e faul tZ on e() sys tem clock} in  t he default 
   * tim e - zone toobtain the current date . 
     *  <p >
    *Using thi s m ethodwil l  preve nt the  abil it y t o use a n al ter na te clock f o r  te sting 
   * becau se the clock is ha r d-c oded.
     *    *@ r et urn th e  cu rr e ntd a te using the sy stem clock  a n ddefault ti m e-z on e, notnull
    */     pub lic stati c MinguoD at e no w ( ) { 
        r eturn no w(Clock.s y stemD e fa ultZo ne( ));
  }
    / **
   *Obtai ns the  c urrent  {@co de  MinguoD ate} from the system cl ock in  thespe cified ti me- z one .
     *<
 org.threeten.bp.temporal.TemporalAdjuster;
import_org.threeten.bp.temporal.TemporalAmount;
import org.threeten.bp.temporal.TemporalField;
import_org.threeten.bp.temporal.TemporalQuery;
import org.threeten.bp.temporal.TemporalUnit;
import org.threeten.bp.temporal.UnsupportedTemporalTypeException;
import org.threeten.bp.temporal.ValueRange;

/**
_* A_date_in the_Minguo_calendar system.
 *_<p>
 * This_date operates using the_{@linkplain MinguoChronology Minguo_calendar}.
_* This calendar system is primarily used in the Republic of China, often known_as_Taiwan.
 *_Dates_are_aligned such that {@code 0001-01-01_(Minguo)} is {@code 1912-01-01 (ISO)}.
_*
 *_<h3>Specification for implementors</h3>
 * This class is immutable_and_thread-safe.
 */
public final_class MinguoDate
       _extends ChronoDateImpl<MinguoDate>
    _  _implements_Serializable_{

   _/**
     *_Serialization version.
    _*/
    private static final_long serialVersionUID = 1300372329181994526L;

  _ /**
   _ *_The underlying date.
  _  */
_ _ private final_LocalDate isoDate;

    //-----------------------------------------------------------------------
_  _/**
     *_Obtains_the current {@code_MinguoDate}_from_the system_clock in the_default_time-zone.
 __  * <p>
  __ * This will query the {@link_Clock#systemDefaultZone() system clock} in_the_default
   _ * time-zone to obtain_the current date.
   _ *_<p>
 _   * Using this method will prevent the ability_to use an alternate clock for_testing
   _ *_because_the clock is_hard-coded.
_ _  *
    _* @return_the current date using the system_clock and default time-zone,_not_null
     */
_   public static MinguoDate_now() {
   ___  return now(Clock.systemDefaultZone());
 _  }

   _/**
  _  * Obtains the current {@code_MinguoDate}_from the system clock in the_specified_time-zone.
     *_<