package Ġnet . squ anch y . schedule . domain . view Ċ Ċ import Ġnet . squ anch y . event details . domain . view . Experience Level Ċ import Ġnet . squ anch y . speaker . domain . view . Speaker Ċ import Ġnet . squ anch y . support . lang . Optional Ċ import Ġorg . joda . time . DateTime Zone Ċ import Ġorg . joda . time . LocalDateTime Ċ Ċ @ Suppress (" Long Parameter List ") Ġ// ĠThis Ġis Ġjust Ġa Ġbig Ġmodel Ġ- ĠTODO Ġrefactor Ġthis Ġto Ġsplit Ġit Ġup Ċ data Ġclass ĠEvent ( ĊĠĠĠĠĠĠĠ Ġval Ġid : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġnumeric Id : ĠLong , ĊĠĠĠĠĠĠĠ Ġval ĠstartTime : ĠLocalDateTime , ĊĠĠĠĠĠĠĠ Ġval ĠendTime : ĠLocalDateTime , ĊĠĠĠĠĠĠĠ Ġval Ġtitle : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġplace : ĠOptional < Place >, ĊĠĠĠĠĠĠĠ Ġval Ġtrack : ĠOptional < Track >, ĊĠĠĠĠĠĠĠ Ġval Ġspeak ers : ĠList < Speaker >, ĊĠĠĠĠĠĠĠ Ġval Ġexperience Level : ĠOptional < Experience Level >, ĊĠĠĠĠĠĠĠ Ġval Ġday Id : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġtype : ĠType , ĊĠĠĠĠĠĠĠ Ġval Ġfavor ited : ĠBoolean , ĊĠĠĠĠĠĠĠ Ġval Ġdescription : ĠOptional < String >, ĊĠĠĠĠĠĠĠ Ġval Ġtime Zone : ĠDateTime Zone Ċ ) Ġ{ ĊĊĠĠĠ Ġfun Ġis H app ening At ( time : ĠLocalDateTime ) Ġ= Ġtime . is After ( startTime ) Ġ&& Ġtime . is Before ( endTime ) ĊĊĠĠĠ Ġenum Ġclass ĠType Ġconstructor ( private Ġval Ġraw Type : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠREG ISTR ATION (" registration "), ĊĠĠĠĠĠĠĠ ĠT AL K (" talk "), ĊĠĠĠĠĠĠĠ ĠKEY NOTE (" key note "), ĊĠĠĠĠĠĠĠ ĠCO FF EE _ BREAK (" coffee _ break "), ĊĠĠĠĠĠĠĠ ĠL UNCH (" l unch "), ĊĠĠĠĠĠĠĠ ĠSO CIAL (" social "), ĊĠĠĠĠĠĠĠ ĠOTHER (" other "); ĊĊĠĠĠĠĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġfrom Raw Type ( raw Type : ĠString ): ĠType Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġvalues (). find Ġ{ Ġit . raw Type . equals ( raw Type , Ġignore Case Ġ= Ġtrue ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġthrow ĠIllegalArgumentException (" Unsupported Ġraw Ġevent Ġtype : Ġ$ raw Type ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Id : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnumeric EventId : ĠLong , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġday Id : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartTime : ĠLocalDateTime , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠendTime : ĠLocalDateTime , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplace : ĠOptional < Place >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexperience Level : ĠOptional < Experience Level >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspeak ers : ĠList < Speaker >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype : ĠType , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfavor ited : ĠBoolean , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription : ĠOptional < String >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrack : ĠOptional < Track >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtime Zone : ĠDateTime Zone ĊĠĠĠĠĠĠĠ Ġ) Ġ= ĠEvent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnumeric EventId , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartTime , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠendTime , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplace , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrack , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspeak ers , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexperience Level , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġday Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfavor ited , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtime Zone ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ