package Ġcom . m addy . calendar . core Ċ Ċ enum Ġclass ĠDay OfWeek Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġsingleton Ġinstance Ġfor Ġthe Ġday - of - week Ġof ĠMonday . ĊĠĠĠĠ Ġ* ĠThis Ġhas Ġthe Ġnumeric Ġvalue Ġof Ġ` 1 `. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠMON DAY , ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġsingleton Ġinstance Ġfor Ġthe Ġday - of - week Ġof ĠT uesday . ĊĠĠĠĠ Ġ* ĠThis Ġhas Ġthe Ġnumeric Ġvalue Ġof Ġ` 2 `. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠT UES DAY , ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġsingleton Ġinstance Ġfor Ġthe Ġday - of - week Ġof ĠWed nesday . ĊĠĠĠĠ Ġ* ĠThis Ġhas Ġthe Ġnumeric Ġvalue Ġof Ġ` 3 `. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠW ED N ES DAY , ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġsingleton Ġinstance Ġfor Ġthe Ġday - of - week Ġof ĠTh ursday . ĊĠĠĠĠ Ġ* ĠThis Ġhas Ġthe Ġnumeric Ġvalue Ġof Ġ` 4 `. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠTH UR SD AY , ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġsingleton Ġinstance Ġfor Ġthe Ġday - of - week Ġof ĠF riday . ĊĠĠĠĠ Ġ* ĠThis Ġhas Ġthe Ġnumeric Ġvalue Ġof Ġ` 5 `. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠFR ID AY , ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġsingleton Ġinstance Ġfor Ġthe Ġday - of - week Ġof ĠS aturday . ĊĠĠĠĠ Ġ* ĠThis Ġhas Ġthe Ġnumeric Ġvalue Ġof Ġ` 6 `. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠS ATUR DAY , ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġsingleton Ġinstance Ġfor Ġthe Ġday - of - week Ġof ĠS unday . ĊĠĠĠĠ Ġ* ĠThis Ġhas Ġthe Ġnumeric Ġvalue Ġof Ġ` 7 `. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠS UND AY ; ĊĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠPrivate Ġcache Ġof Ġall Ġthe Ġconstants . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠEN UM S Ġ= Ġvalues () ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠOb t ains Ġan Ġinstance Ġof Ġ` DayOfWeek ` Ġfrom Ġan Ġ` int ` Ġvalue . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ` DayOfWeek ` Ġis Ġan Ġenum Ġrepresenting Ġthe Ġ 7 Ġdays Ġof Ġthe Ġweek . ĊĠĠĠĠĠĠĠĠ Ġ* ĠThis Ġfactory Ġallows Ġthe Ġenum Ġto Ġbe Ġobtained Ġfrom Ġthe Ġ` int ` Ġvalue . ĊĠĠĠĠĠĠĠĠ Ġ* ĠThe Ġ` int ` Ġvalue Ġfollows Ġthe ĠISO - 8 6 0 1 Ġstandard , Ġfrom Ġ 1 Ġ( Monday ) Ġto Ġ 7 Ġ( S unday ). ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġday OfWeek Ġ Ġthe Ġday - of - week Ġto Ġrepresent , Ġfrom Ġ 1 Ġ( Monday ) Ġto Ġ 7 Ġ( S unday ) ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return Ġthe Ġday - of - week Ġsingleton , Ġnot Ġnull ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ throws ĠDateTime Exception Ġif Ġthe Ġday - of - week Ġis Ġinvalid ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġof ( day OfWeek : ĠInt ): ĠDay OfWeek Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( day OfWeek Ġ< Ġ 1 Ġ|| Ġday OfWeek Ġ> Ġ 7 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠRuntimeException (" Invalid Ġvalue Ġfor ĠDay OfWeek : Ġ$ day OfWeek ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠEN UM S [ day OfWeek Ġ- Ġ 1 ] ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġweek Days ( first DayOfWeek : ĠDay OfWeek Ġ= ĠS UND AY ): ĠArray < DayOfWeek > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdays OfWeek Ġ= ĠEN UM S . copyOf () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠOrder Ġ` days OfWeek ` Ġarray Ġso Ġthat Ġfirst DayOfWeek Ġis Ġat Ġindex Ġ 0 . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠOnly Ġnecessary Ġif Ġfirst DayOfWeek Ġ!= ĠDay OfWeek . MON DAY Ġwhich Ġhas Ġordinal Ġ 0 . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( first DayOfWeek Ġ!= ĠMON DAY ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrhs Ġ= Ġdays OfWeek . slice Array ( first DayOfWeek . ordinal .. days OfWeek . indices . last ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlhs Ġ= Ġdays OfWeek . slice Array ( 0 Ġuntil Ġfirst DayOfWeek . ordinal ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdays OfWeek Ġ= Ġrhs Ġ+ Ġlhs ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġdays OfWeek ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ----------------------------------------------------------------------- ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGets Ġthe Ġday - of - week Ġ` int ` Ġvalue . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠThe Ġvalues Ġare Ġnumber ed Ġfollowing Ġthe ĠISO - 8 6 0 1 Ġstandard , Ġfrom Ġ 1 Ġ( Monday ) Ġto Ġ 7 Ġ( S unday ). ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġday - of - week , Ġfrom Ġ 1 Ġ( Monday ) Ġto Ġ 7 Ġ( S unday ) ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġvalue : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġordinal Ġ+ Ġ 1 ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthe Ġday - of - week Ġthat Ġis Ġthe Ġspecified Ġnumber Ġof Ġdays Ġafter Ġthis Ġone . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠThe Ġcalculation Ġroll s Ġaround Ġthe Ġend Ġof Ġthe Ġweek Ġfrom ĠS unday Ġto ĠMonday . ĊĠĠĠĠ Ġ* ĠThe Ġspecified Ġperiod Ġmay Ġbe Ġnegative . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠThis Ġinstance Ġis Ġimmutable Ġand Ġun affected Ġby Ġthis Ġmethod Ġcall . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġdays Ġ Ġthe Ġdays Ġto Ġadd , Ġpositive Ġor Ġnegative ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġresulting Ġday - of - week , Ġnot Ġnull ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġoperator Ġfun Ġplus ( days : ĠLong ): ĠDay OfWeek Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġamount Ġ= Ġ( days Ġ% Ġ 7 ). toInt () ĊĠĠĠĠĠĠĠ Ġreturn ĠEN UM S [( ordinal Ġ+ Ġ( amount Ġ+ Ġ 7 )) Ġ% Ġ 7 ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthe Ġday - of - week Ġthat Ġis Ġthe Ġspecified Ġnumber Ġof Ġdays Ġafter Ġthis Ġone . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠThe Ġcalculation Ġroll s Ġaround Ġthe Ġend Ġof Ġthe Ġweek Ġfrom ĠS unday Ġto ĠMonday . ĊĠĠĠĠ Ġ* ĠThe Ġspecified Ġperiod Ġmay Ġbe Ġnegative . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠThis Ġinstance Ġis Ġimmutable Ġand Ġun affected Ġby Ġthis Ġmethod Ġcall . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġdays Ġ Ġthe Ġdays Ġto Ġadd , Ġpositive Ġor Ġnegative ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġresulting Ġday - of - week , Ġnot Ġnull ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġoperator Ġfun Ġplus ( days : ĠDay OfWeek ): ĠDay OfWeek Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġamount Ġ= Ġdays . value Ġ% Ġ 7 ĊĠĠĠĠĠĠĠ Ġreturn ĠEN UM S [( ordinal Ġ+ Ġ( amount Ġ+ Ġ 7 )) Ġ% Ġ 7 ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthe Ġday - of - week Ġthat Ġis Ġthe Ġspecified Ġnumber Ġof Ġdays Ġbefore Ġthis Ġone . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠThe Ġcalculation Ġroll s Ġaround Ġthe Ġstart Ġof Ġthe Ġyear Ġfrom ĠMonday Ġto ĠS unday . ĊĠĠĠĠ Ġ* ĠThe Ġspecified Ġperiod Ġmay Ġbe Ġnegative . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠThis Ġinstance Ġis Ġimmutable Ġand Ġun affected Ġby Ġthis Ġmethod Ġcall . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġdays Ġ Ġthe Ġdays Ġto Ġsubtract , Ġpositive Ġor Ġnegative ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġresulting Ġday - of - week , Ġnot Ġnull ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġoperator Ġfun Ġminus ( days : ĠLong ): ĠDay OfWeek Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġplus (- ( days Ġ% Ġ 7 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthe Ġday - of - week Ġthat Ġis Ġthe Ġspecified Ġnumber Ġof Ġdays Ġbefore Ġthis Ġone . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠThe Ġcalculation Ġroll s Ġaround Ġthe Ġstart Ġof Ġthe Ġyear Ġfrom ĠMonday Ġto ĠS unday . ĊĠĠĠĠ Ġ* ĠThe Ġspecified Ġperiod Ġmay Ġbe Ġnegative . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠThis Ġinstance Ġis Ġimmutable Ġand Ġun affected Ġby Ġthis Ġmethod Ġcall . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġdays Ġ Ġthe Ġdays Ġto Ġsubtract , Ġpositive Ġor Ġnegative ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġresulting Ġday - of - week , Ġnot Ġnull ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġoperator Ġfun Ġminus ( days : ĠDay OfWeek ): ĠDay OfWeek Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġplus (- ( days . value Ġ% Ġ 7 ). to Long ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġname ( type : ĠI LocalDate . Type Ġ= ĠI LocalDate . Type . BS , Ġshort : ĠBoolean Ġ= Ġtrue ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠFormatter . week Day Name ( this , Ġtype , Ġshort ) ĊĠĠĠ Ġ} Ċ }