package Ġcom . k iz iton wo se . calendar view . model Ċ Ċ import Ġcom . k iz iton wo se . calendar view . utils . next Ċ import Ġcom . k iz iton wo se . calendar view . utils . pers ian . Pers ian Calendar Ċ import Ġcom . k iz iton wo se . calendar view . utils . pers ian . to Pers ian Calendar Ċ import Ġcom . k iz iton wo se . calendar view . utils . previous Ċ import Ġcom . k iz iton wo se . calendar view . utils . year Month Ċ import Ġorg . th reet en . bp . LocalDate Ċ import Ġorg . th reet en . bp . Year Month Ċ import Ġorg . th reet en . bp . Zone Offset Ċ import Ġjava . io . Serializable ĊĊ Ċ data Ġclass ĠCalendar Day Ġinternal Ġconstructor ( val Ġdate : ĠLocalDate , Ġval Ġowner : ĠDay Owner ) Ġ: ĊĠĠĠĠĠĠĠ ĠComparable < Calendar Day >, ĠSerializable Ġ{ ĊĊĠĠĠ Ġval Ġday Ġ= Ġdate . day OfMonth ĊĠĠĠ Ġval Ġpers ian Calendar : ĠPers ian Calendar ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġdate . to Pers ian Calendar () ĊĊĠĠĠ Ġ// ĠFind Ġthe Ġactual Ġmonth Ġon Ġthe Ġcalendar Ġthat Ġowns Ġthis Ġdate . ĊĠĠĠ Ġinternal Ġval Ġposition Year Month : ĠYear Month ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġwhen Ġ( owner ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDay Owner . THIS _ MONTH Ġ-> Ġdate . year Month ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDay Owner . PREVIOUS _ MONTH Ġ-> Ġdate . year Month . next ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDay Owner . NEXT _ MONTH Ġ-> Ġdate . year Month . previous ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" Calendar Day Ġ{ Ġdate Ġ= Ġ Ġ$ date , Ġowner Ġ= Ġ$ owner }" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcompare To ( other : ĠCalendar Day ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠUnsupportedOperationException ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Compare Ġusing Ġthe Ġ` date ` Ġparameter Ġinstead . Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Out Ġand ĠIn Ġdates Ġcan Ġhave Ġthe Ġsame Ġdate Ġvalues Ġas ĠCalendar Day Ġin Ġanother Ġmonth ." ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( java Class Ġ!= Ġother ?. java Class ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġother Ġas ĠCalendar Day ĊĠĠĠĠĠĠĠ Ġreturn Ġdate Ġ== Ġother . date Ġ&& Ġowner Ġ== Ġother . owner ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ 3 1 Ġ* Ġ( date . hashCode () Ġ+ Ġowner . hashCode ()) ĊĠĠĠ Ġ} Ċ } Ċ