/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 6 . ĠSun gh you k ĠB ae Ġ< sun gh you k . bae @ gmail . com > Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ* Ċ Ġ*/ Ċ Ċ package Ġdeb op 4 k . time period . models Ċ Ċ import Ġdeb op 4 k . time period . Week day List Ċ import Ġdeb op 4 k . time period . Week end List Ċ Ċ /** Ċ Ġ* Ġ@ author Ġdeb op Ġsun gh you k . bae @ gmail . com Ċ Ġ*/ Ċ enum Ġclass ĠDay OfWeek ( val Ġvalue : ĠInt , Ġval Ġdescription : ĠString ) Ġ{ ĊĊĠ ĠMON DAY ( 1 , Ġ" ìĽĶ "), ĊĊĠ ĠT UES DAY ( 2 , Ġ" íĻĶ "), ĊĊĠ ĠW ED N ES DAY ( 3 , Ġ" ìĪĺ "), ĊĊĠ ĠTH UR SD AY ( 4 , Ġ" ëª© "), ĊĊĠ ĠFR ID AY ( 5 , Ġ" ê¸Ī "), ĊĊĠ ĠS ATUR DAY ( 6 , Ġ" íĨł "), ĊĊĠ ĠS UND AY ( 7 , Ġ" ìĿ¼ "); ĊĊĠ Ġoperator Ġfun Ġplus ( delta : ĠInt ): ĠDay OfWeek Ġ{ ĊĠĠĠ Ġval Ġamount Ġ= Ġdelta Ġ% Ġ 7 ĊĠĠĠ Ġreturn Ġof (( value Ġ- Ġ 1 Ġ+ Ġ( amount Ġ+ Ġ 7 )) Ġ% Ġ 7 Ġ+ Ġ 1 ) ĊĠ Ġ} ĊĊĠ Ġoperator Ġfun Ġminus ( delta : ĠInt ): ĠDay OfWeek Ġ= Ġplus (- delta ) ĊĊĠ Ġfun Ġis Week day (): ĠBoolean Ġ= ĠWeek day List . contains ( this ) ĊĠ Ġfun Ġis Week end (): ĠBoolean Ġ= ĠWeek end List . contains ( this ) ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠ Ġval Ġday OfWeek Array : ĠArray < DayOfWeek > Ġget () Ġ= ĠDay OfWeek . values () ĊĊĠĠĠ Ġfun Ġof ( day OfWeek : ĠInt ): ĠDay OfWeek Ġ= Ġday OfWeek Array [ day OfWeek Ġ- Ġ 1 ] ĊĠ Ġ} Ċ Ċ }