/* Ċ Ġ* ĠMIT ĠLicense Ċ Ġ* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 9 ĠA det un ji ĠD ahun si Ċ Ġ* Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ċ Ġ* Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ċ Ġ* Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ċ Ġ* Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ċ Ġ* Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ċ Ġ* Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ġall Ċ Ġ* Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR Ċ Ġ* ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , Ċ Ġ* ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE Ċ Ġ* ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER Ċ Ġ* ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , Ċ Ġ* ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN ĠTHE Ċ Ġ* ĠSOFTWARE . Ċ Ġ*/ Ċ Ċ package Ġcom . main street code . team mate . model Ċ Ċ import Ġandroid . os . Parcel Ċ import Ġandroid . os . Parcelable Ċ import Ġandroidx . room . Ignore Ċ import Ġcom . google . gson . Json Deserialization Context Ċ import Ġcom . google . gson . Json Deserializer Ċ import Ġcom . google . gson . Json Element Ċ import Ġcom . google . gson . JsonObject Ċ import Ġcom . google . gson . Json ParseException Ċ import Ġcom . google . gson . Json Serialization Context Ċ import Ġcom . google . gson . Json Serializer Ċ import Ġcom . main street code . team mate . App Ċ import Ġcom . main street code . team mate . R Ċ import Ġcom . main street code . team mate . model . enums . Sport Ċ import Ġcom . main street code . team mate . model . enums . Tournament Style Ċ import Ġcom . main street code . team mate . model . enums . Tournament Type Ċ import Ġcom . main street code . team mate . persistence . entity . Tournament Entity Ċ import Ġcom . main street code . team mate . util . EMPTY _ STRING Ċ import Ġcom . main street code . team mate . util . Id Cache Ċ import Ġcom . main street code . team mate . util . are NotEmpty Ċ import Ġcom . main street code . team mate . util . as Boolean Or False Ċ import Ġcom . main street code . team mate . util . as Float Or Zero Ċ import Ġcom . main street code . team mate . util . asString OrEmpty Ċ import Ġcom . main street code . team mate . util . parse ISO 8 6 0 1 Date Ċ import Ġcom . tun jid . android x . recyclerview . diff . Different iable Ċ import Ġjava . lang . reflect . Type Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* ĠEvent Ġevents Ċ Ġ*/ Ċ Ċ class ĠTo urnament Ġ: ĠTo urnament Entity , ĊĠĠĠĠĠĠĠ ĠTeam Host , ĊĠĠĠĠĠĠĠ ĠModel < Tournament >, ĊĠĠĠĠĠĠĠ ĠHeader ed Model < Tournament >, ĊĠĠĠĠĠĠĠ ĠList able Model < Tournament > Ġ{ ĊĊĠĠĠ Ġconstructor ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠimageUrl : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġref Path : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname : ĠCharSequence , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription : ĠCharSequence , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreated : ĠDate , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhost : ĠTeam , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs port : ĠS port , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype : ĠTo urnament Type , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstyle : ĠTo urnament Style , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwinner : ĠComp et itor , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnum Le gs : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnum Round s : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Round : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnum Comp et itors : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsingle Final : ĠBoolean ĊĠĠĠ Ġ) Ġ: Ġsuper ( id , ĠimageUrl , Ġref Path , Ġname , Ġdescription , Ġcreated , Ġhost , Ġs port , Ġtype , Ġstyle , Ġwinner , Ġnum Le gs , Ġnum Round s , Ġcurrent Round , Ġnum Comp et itors , Ġsingle Final ) ĊĊĠĠĠ Ġprivate Ġconstructor (` in `: ĠParcel ) Ġ: Ġsuper (` in `) ĊĊĠĠĠ Ġoverride Ġval Ġteam : ĠTeam ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġhost ĊĊĠĠĠ Ġoverride Ġval ĠisEmpty : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġid . isBlank () ĊĊĠĠĠ Ġoverride Ġval Ġheader Item : ĠItem ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠItem . text ( EMPTY _ STRING , Ġ 0 , ĠItem . IMAGE , ĠR . string . team _ logo , ĠItem . null To Empty ( imageUrl ), Ġ{ Ġthis . imageUrl Ġ= Ġit Ġ}) ĊĊĠĠĠ Ġoverride Ġfun Ġas Items (): ĠList < Item > Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem . text ( holder [ 0 ], Ġ 0 , ĠItem . INPUT , ĠR . string . tournament _ name , ĠItem . null To Empty ( name ), Ġthis :: setName ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem . text ( holder [ 1 ], Ġ 1 , ĠItem . DESCRIPTION , ĠR . string . tournament _ description , ĠItem . null To Empty ( description ), Ġthis :: setDescription ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem . text ( holder [ 2 ], Ġ 2 , ĠItem . TO UR NA MENT _ TYPE , ĠR . string . tournament _ type , Ġtype :: code , Ġthis :: setType ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. text Transformer Ġ{ Ġvalue Ġ-> ĠConfig . tournament Type From Code ( value . toString ()). getName () Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem . text ( holder [ 3 ], Ġ 3 , ĠItem . TO UR NA MENT _ STYLE , ĠR . string . tournament _ style , Ġstyle :: code , Ġthis :: setStyle ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. text Transformer Ġ{ Ġvalue Ġ-> ĠConfig . tournament Style From Code ( value . toString ()). getName () Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem . number ( holder [ 4 ], Ġ 4 , ĠItem . NUMBER , ĠR . string . tournament _ leg s , Ġnum Le gs :: toString , Ġthis :: set Num Le gs ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem . number ( holder [ 5 ], Ġ 5 , ĠItem . INFO , ĠR . string . tournament _ single _ final , Ġ{ ĠApp . instance . getString ( if Ġ( is Single Final ) ĠR . string . yes Ġelse ĠR . string . no ) Ġ}, Ġthis :: set Single Final ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( other : ĠDifferent iable ): ĠBoolean Ġ= Ġwhen Ġ( other ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ! is ĠTo urnament Ġ-> Ġdiff Id Ġ== Ġother . diff Id ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġname Ġ== Ġother . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġdescription Ġ== Ġother . description Ġ&& Ġcurrent Round Ġ== Ġother . current Round ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& ĠimageUrl Ġ== Ġother . imageUrl ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhas Major Fields (): ĠBoolean Ġ= Ġare NotEmpty ( id , Ġname ) ĊĊĠĠĠ Ġoverride Ġfun Ġget Change Payload ( other : ĠDifferent iable ): ĠAny ? Ġ= Ġother ĊĊĠĠĠ Ġfun Ġupdate Host ( team : ĠTeam ) Ġ= Ġhost . update ( team ) ĊĊĠĠĠ Ġoverride Ġfun Ġupdate ( updated : ĠTo urnament ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . id Ġ= Ġupdated . id ĊĠĠĠĠĠĠĠ Ġthis . name Ġ= Ġupdated . name ĊĠĠĠĠĠĠĠ Ġthis . ref Path Ġ= Ġupdated . ref Path ĊĠĠĠĠĠĠĠ Ġthis . description Ġ= Ġupdated . description ĊĠĠĠĠĠĠĠ Ġthis . imageUrl Ġ= Ġupdated . imageUrl ĊĠĠĠĠĠĠĠ Ġthis . created Ġ= Ġupdated . created ĊĠĠĠĠĠĠĠ Ġthis . num Le gs Ġ= Ġupdated . num Le gs ĊĠĠĠĠĠĠĠ Ġthis . num Round s Ġ= Ġupdated . num Round s ĊĠĠĠĠĠĠĠ Ġthis . current Round Ġ= Ġupdated . current Round ĊĠĠĠĠĠĠĠ Ġthis . num Comp et itors Ġ= Ġupdated . num Comp et itors ĊĠĠĠĠĠĠĠ Ġthis . is Single Final Ġ= Ġupdated . is Single Final ĊĠĠĠĠĠĠĠ Ġthis . type . update ( updated . type ) ĊĠĠĠĠĠĠĠ Ġthis . style . update ( updated . style ) ĊĠĠĠĠĠĠĠ Ġthis . sport . update ( updated . sport ) ĊĠĠĠĠĠĠĠ Ġif Ġ( updated . host . has Major Fields ()) Ġthis . host . update ( updated . host ) ĊĠĠĠĠĠĠĠ Ġif Ġ( this . winner . has Same Type ( updated . winner )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwinner . update ( updated . winner ) ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . winner Ġ= Ġupdated . winner ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcompare To ( other : ĠTo urnament ): ĠInt Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcompare Values By ( this , Ġother , ĠTo urnament :: created , ĠTo urnament :: id ) ĊĊĠĠĠ Ġoverride Ġfun Ġdescribe Contents (): ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġclass ĠGson Adapter Ġ: ĠJsonSerializer < Tournament >, ĠJson Deserializer < Tournament > Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġserialize ( src : ĠTo urnament , ĠtypeOf Src : ĠType , Ġcontext : ĠJson Serialization Context ): ĠJson Element Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġserialized Ġ= ĠJsonObject () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġserialized . addProperty ( NAME _ KEY , Ġsrc . name . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġserialized . addProperty ( DESCRIPTION _ KEY , Ġsrc . description . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġserialized . addProperty ( TYPE _ KEY , Ġsrc . type . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġserialized . addProperty ( STYLE _ KEY , Ġsrc . style . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġserialized . addProperty ( NUM _ LE GS , Ġsrc . num Le gs ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġserialized . addProperty ( HOST _ KEY , Ġsrc . host . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġserialized . addProperty ( SINGLE _ FINAL , Ġsrc . is Single Final ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtype Code Ġ= Ġsrc . type . code ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstyle Code Ġ= Ġsrc . style . code ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( type Code . isNotBlank ()) Ġserialized . addProperty ( TYPE _ KEY , Ġtype Code ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( style Code . isNotBlank ()) Ġserialized . addProperty ( STYLE _ KEY , Ġstyle Code ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġserialized ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Throws ( Json ParseException :: class ) ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdeserialize ( json : ĠJson Element , ĠtypeOf T : ĠType , Ġcontext : ĠJson Deserialization Context ): ĠTo urnament Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( json . is Json Primitive ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠTo urnament ( json . asString , Ġ"", Ġ"", Ġ"", Ġ"", ĠDate (), ĠTeam . empty (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠS port . empty (), ĠTo urnament Type . empty (), ĠTo urnament Style . empty (), ĠComp et itor . empty (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , Ġ 1 , Ġ 0 , Ġ 0 , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbody Ġ= Ġjson . as JsonObject ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġbody . asString OrEmpty ( ID _ KEY ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠimageUrl Ġ= Ġbody . asString OrEmpty ( IMAGE _ KEY ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġbody . asString OrEmpty ( NAME _ KEY ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdescription Ġ= Ġbody . asString OrEmpty ( DESCRIPTION _ KEY ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġref Path Ġ= Ġbody . asString OrEmpty ( REF _ PATH ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġs port Code Ġ= Ġbody . asString OrEmpty ( SP ORT _ KEY ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtype Code Ġ= Ġbody . asString OrEmpty ( TYPE _ KEY ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstyle Code Ġ= Ġbody . asString OrEmpty ( STYLE _ KEY ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcreated Ġ= Ġbody . asString OrEmpty ( CREATED _ KEY ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnum Le gs Ġ= Ġbody . as Float Or Zero ( NUM _ LE GS ). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnum Round s Ġ= Ġbody . as Float Or Zero ( NUM _ RO UN DS ). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcurrent Round Ġ= Ġbody . as Float Or Zero ( CURRENT _ ROUND ). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnum Comp et itors Ġ= Ġbody . as Float Or Zero ( NUM _ COMP ET IT ORS ). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsingle Final Ġ= Ġbody . as Boolean Or False ( SINGLE _ FINAL ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġhost : ĠTeam ? Ġ= Ġcontext . deserialize < Team >( body . get ( HOST _ KEY ), ĠTeam :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġs port Ġ= ĠConfig . sport From Code ( sport Code ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtype Ġ= ĠConfig . tournament Type From Code ( type Code ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstyle Ġ= ĠConfig . tournament Style From Code ( style Code ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwinner Object Ġ= Ġif Ġ( body . has ( WIN NER ) Ġ&& Ġbody . get ( WIN NER ). is JsonObject ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbody . get ( WIN NER ). as JsonObject ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwinner Object ?. addProperty (" tournament ", Ġid ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwinner Ġ= Ġif Ġ( winner Object Ġ!= Ġnull ) Ġcontext . deserialize ( winner Object , ĠComp et itor :: class . java ) Ġelse ĠComp et itor . empty () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( host Ġ== Ġnull ) Ġhost Ġ= ĠTeam . empty () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠTo urnament ( id , ĠimageUrl , Ġref Path , Ġname , Ġdescription , Ġcreated . parse ISO 8 6 0 1 Date (), Ġhost , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs port , Ġtype , Ġstyle , Ġwinner , Ġnum Le gs , Ġnum Round s , Ġcurrent Round , Ġnum Comp et itors , Ġsingle Final ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠID _ KEY Ġ= Ġ"_ id " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠIMAGE _ KEY Ġ= Ġ" imageUrl " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠNAME _ KEY Ġ= Ġ" name " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠDESCRIPTION _ KEY Ġ= Ġ" description " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠHOST _ KEY Ġ= Ġ" host " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠCRE ATED _ KEY Ġ= Ġ" created " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠS PORT _ KEY Ġ= Ġ" sport " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTYPE _ KEY Ġ= Ġ" type " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠSTYLE _ KEY Ġ= Ġ" style " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠREF _ PATH Ġ= Ġ" ref Path " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠWIN NER Ġ= Ġ" winner " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠNUM _ LE GS Ġ= Ġ" num Le gs " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠNUM _ RO UN DS Ġ= Ġ" num Round s " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠCURRENT _ ROUND Ġ= Ġ" current Round " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠNUM _ COMP ET IT ORS Ġ= Ġ" num Comp et itors " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠS INGLE _ FINAL Ġ= Ġ" single Final " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPH OTO _ UPLOAD _ KEY Ġ= Ġ" tournament - photo " ĊĊĠĠĠĠĠĠĠ Ġ@ Ignore ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġholder Ġ= ĠId Cache ( 6 ) ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠĠĠĠĠ Ġfun Ġempty ( host : ĠTeam Ġ= ĠTeam . empty ()): ĠTo urnament Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdate Ġ= ĠDate () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġs port Ġ= Ġhost . sport ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠTo urnament ("", ĠConfig . getDefault Tournament Logo (), Ġ"", Ġ"", Ġ"", Ġdate , Ġhost , Ġs port , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs port . default Tournament Type (), Ġs port . default Tournament Style (), ĠComp et itor . empty (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , Ġ 1 , Ġ 0 , Ġ 0 , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġwith Id ( id : ĠString ): ĠTo urnament Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġempty Ġ= Ġempty () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġempty . id Ġ= Ġid ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġempty ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġval ĠCRE ATOR : ĠParcel able . Creator < Tournament > Ġ= Ġobject Ġ: ĠParcel able . Creator < Tournament > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate From Parcel (` in `: ĠParcel ): ĠTo urnament Ġ= ĠTo urnament (` in `) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġnew Array ( size : ĠInt ): ĠArray < Tournament ?> Ġ= ĠarrayOf Null s ( size ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ