package Ġcom . te j pr at ap sing h . recycler calendar . model Ċ Ċ import Ġjava . util .* Ċ import Ġkotlin . collections . HashMap Ċ Ċ class ĠIn finite Recycler Calendar Configuration ( ĊĠĠĠ Ġcal ender ViewType : ĠCal ender ViewType , ĊĠĠĠ Ġcalendar Locale : ĠLocale , ĊĠĠĠ Ġinclude Month Header : ĠBoolean , ĊĠĠĠ Ġselection Mode : ĠSelection Mode Ċ ) Ġ: ĠRe cycler Calendar Configuration ( ĊĠĠĠ Ġcal ender ViewType , Ġcalendar Locale , Ġinclude Month Header Ċ ) Ġ{ ĊĠĠĠ Ġvar Ġselection Mode : ĠSelection Mode Ġ= ĠSelection Mode None () ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . selection Mode Ġ= Ġselection Mode ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġclass ĠSelection Mode Ġ{ ĊĠĠĠĠĠĠĠ Ġenum Ġclass ĠTYPE Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNONE , ĠS INGLE , ĠMULTI PLE , ĠR ANGE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġselection Type : ĠTYPE Ġ= ĠTYPE . NONE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠSelection Mode None Ġ: ĠSelection Mode () Ġ{ ĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . selection Type Ġ= ĠTYPE . NONE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠSelection Mode Single ( selected Date : ĠDate ?) Ġ: ĠSelection Mode () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġselected Date : ĠDate ? Ġ= ĠDate () ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . selection Type Ġ= ĠTYPE . SINGLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . selected Date Ġ= Ġselected Date ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠSelection Mode Multiple ( selection StartDate List : ĠHashMap < String , ĠDate >) Ġ: ĠSelection Mode () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġselection StartDate List : ĠHashMap < String , ĠDate > Ġ= ĠHashMap () ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . selection Type Ġ= ĠTYPE . MULTIPLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . selection StartDate List Ġ= Ġselection StartDate List ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠSelection Mode Range ( selection StartDate : ĠDate , Ġselection EndDate : ĠDate ) Ġ: ĠSelection Mode () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġselection StartDate : ĠDate Ġ= ĠDate () ĊĠĠĠĠĠĠĠ Ġvar Ġselection EndDate : ĠDate Ġ= ĠDate () ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . selection Type Ġ= ĠTYPE . RANGE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . selection StartDate Ġ= Ġselection StartDate ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . selection EndDate Ġ= Ġselection EndDate ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }