/* Ċ Ġ* ĠCopyright Ġ 2 0 1 4 ĠN ich olas ĠB ily k Ċ Ġ* Ċ Ġ* Ġ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 Ġcom . ac orn ui . js . time Ċ Ċ import Ġcom . ac orn ui . core . time . Date Ċ import Ġcom . ac orn ui . core . time . Date Ro Ċ import Ġcom . ac orn ui . core . zero Padding Ċ Ċ /** Ċ Ġ* Ġ@ author Ġnb ily k Ċ Ġ*/ Ċ class ĠDate Impl Ġ: ĠDate Ġ{ ĊĊ ĉ internal Ġval Ġdate Ġ= Ġjs (" new ĠDate (); ") ĊĊ ĉ override Ġvar Ġtime : ĠLong Ċĉ ĉ get () Ġ{ Ċĉĉ ĉ return Ġ( date . getTime () Ġas ĠNumber ). to Long () Ċĉ ĉ } Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ val Ġt Ġ= Ġvalue . as Dynamic (). to Number () Ċĉĉ ĉ date . setTime ( t ) Ċĉ ĉ } ĊĊ ĉ override Ġvar Ġfull Year : ĠInt Ċĉ ĉ get () Ġ{ Ċĉĉ ĉ return Ġdate . getFullYear () Ċĉ ĉ } Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ date . set Full Year ( value ) Ċĉ ĉ } ĊĊ ĉ override Ġvar Ġmonth Index : ĠInt Ċĉ ĉ get () Ġ= Ġdate . getMonth () Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ date . set Month ( value ) Ċĉ ĉ } ĊĊ ĉ override Ġvar Ġday OfMonth : ĠInt Ċĉ ĉ get () Ġ= Ġdate . getDate () Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ date . setDate ( value ) Ċĉ ĉ } ĊĊ ĉ override Ġval Ġday OfWeek : ĠInt Ċĉ ĉ get () Ġ= Ġdate . get Day () ĊĊĊ ĉ override Ġvar Ġhour : ĠInt Ċĉ ĉ get () Ġ= Ġdate . getHours () Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ date . set Hours ( value ) Ċĉ ĉ } ĊĊ ĉ override Ġvar Ġminute : ĠInt Ċĉ ĉ get () Ġ= Ġdate . get Minutes () Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ date . set Minutes ( value ) Ċĉ ĉ } ĊĊ ĉ override Ġvar Ġsecond : ĠInt Ċĉ ĉ get () Ġ= Ġdate . get Seconds () Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ date . set Seconds ( value ) Ċĉ ĉ } ĊĊ ĉ override Ġvar Ġmilli : ĠInt Ċĉ ĉ get () Ġ= Ġdate . get Milliseconds () Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ date . set Milliseconds ( value ) Ċĉ ĉ } ĊĊ ĉ override Ġvar Ġut c Full Year : ĠInt Ċĉ ĉ get () Ġ{ Ċĉĉ ĉ return Ġdate . get UTC Full Year () Ċĉ ĉ } Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ date . set UTC Full Year ( value ) Ċĉ ĉ } ĊĊ ĉ override Ġvar Ġut c Month Index : ĠInt Ċĉ ĉ get () Ġ= Ġdate . get UT CM on th () Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ date . set UT CM on th ( value ) Ċĉ ĉ } ĊĊ ĉ override Ġvar Ġut c Day OfMonth : ĠInt Ċĉ ĉ get () Ġ= Ġdate . get UTC Date () Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ date . set UTC Date ( value ) Ċĉ ĉ } ĊĊ ĉ override Ġval Ġut c DayOfWeek : ĠInt Ċĉ ĉ get () Ġ= Ġdate . get UT CD ay () ĊĊĊ ĉ override Ġvar Ġut c Hour : ĠInt Ċĉ ĉ get () Ġ= Ġdate . get UT CH ours () Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ date . set UT CH ours ( value ) Ċĉ ĉ } ĊĊ ĉ override Ġvar Ġut c Minute : ĠInt Ċĉ ĉ get () Ġ= Ġdate . get UTC Minutes () Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ date . set UTC Minutes ( value ) Ċĉ ĉ } ĊĊ ĉ override Ġvar Ġut c Second : ĠInt Ċĉ ĉ get () Ġ= Ġdate . get UTC Seconds () Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ date . set UTC Seconds ( value ) Ċĉ ĉ } ĊĊ ĉ override Ġvar Ġut c Milli : ĠInt Ċĉ ĉ get () Ġ= Ġdate . get UT CM illiseconds () Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ date . set UT CM illiseconds ( value ) Ċĉ ĉ } ĊĊ ĉ override Ġval Ġtimezone Offset : ĠInt Ċĉ ĉ get () Ġ= Ġdate . getTime zone Offset () ĊĊ ĉ override Ġfun Ġcopy (): ĠDate Ġ{ Ċĉ ĉ val Ġnew Date Ġ= ĠDate Impl () Ċĉ ĉ new Date . time Ġ= Ġtime Ċĉ ĉ return Ġnew Date Ċ ĉ } ĊĊ ĉ override Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ Ċĉ ĉ if Ġ( other Ġ== Ġnull ) Ġreturn Ġfalse Ċĉ ĉ if Ġ( other Ġ! is ĠDate Ro ) Ġreturn Ġfalse Ċĉ ĉ return Ġtime Ġ== Ġother . time Ċ ĉ } ĊĊ ĉ override Ġfun ĠhashCode (): ĠInt Ġ{ Ċĉ ĉ return Ġtime . hashCode () Ċ ĉ } ĊĊ ĉ override Ġfun ĠtoString (): ĠString Ġ{ Ċĉ ĉ return Ġ" Date ($ full Year /$ month /$ day OfMonth Ġ$ hour :${ minute . zero Padding ( 2 )} :${ second . zero Padding ( 2 )}. $ milli )" Ċ ĉ } Ċ }