package Ġcom . todo ist . pojo Ċ Ċ open Ġclass ĠProject Ġ@ Jvm Over loads Ġconstructor ( ĊĠĠĠ Ġid : ĠLong , ĊĠĠĠ Ġopen Ġvar Ġv 2 Id : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġopen Ġvar Ġname : ĠString , ĊĠĠĠ Ġopen Ġvar Ġworkspace Id : ĠLong ? Ġ= Ġnull , ĊĠĠĠ Ġopen Ġvar Ġdescription : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġopen Ġvar Ġis Invite Only : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġopen Ġvar Ġstatus : ĠStatus Ġ= ĠStatus . Pl anned , ĊĠĠĠ Ġopen Ġvar Ġcolor : ĠInt Ġ= ĠColors . DEFAULT _ COLOR _ ID , ĊĠĠĠ Ġopen Ġvar Ġview Style : ĠString Ġ= ĠVIEW _ STYLE _ DEFAULT , ĊĠĠĠ Ġopen Ġvar ĠparentId : ĠLong ?, ĊĠĠĠ Ġopen Ġvar Ġchild Order : ĠInt , ĊĠĠĠ Ġopen Ġvar Ġis Collapsed : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġopen Ġvar ĠisIn box : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġopen Ġvar Ġis Team Inbox : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġopen Ġvar Ġis Shared : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġopen Ġvar Ġis Favorite : ĠBoolean , ĊĠĠĠ Ġopen Ġvar Ġis Arch ived : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġis Deleted : ĠBoolean Ġ= Ġfalse Ċ ) Ġ: ĠModel ( id , Ġis Deleted ) Ġ{ ĊĠĠĠ Ġopen Ġval Ġcolor Int Ġget () Ġ= ĠColors . getColor ( color ) ĊĊĠĠĠ Ġsealed Ġclass ĠStatus ( protected Ġopen Ġval Ġkey : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġobject ĠPl anned Ġ: ĠStatus (" PLAN N ED ") ĊĊĠĠĠĠĠĠĠ Ġobject ĠIn Progress Ġ: ĠStatus (" IN _ PROGRESS ") ĊĊĠĠĠĠĠĠĠ Ġobject ĠPause d Ġ: ĠStatus (" PA USED ") ĊĊĠĠĠĠĠĠĠ Ġobject ĠCompleted Ġ: ĠStatus (" COMPLETED ") ĊĊĠĠĠĠĠĠĠ Ġobject ĠC anceled Ġ: ĠStatus (" C ANCE LED ") ĊĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠUnknown ( override Ġval Ġkey : ĠString ) Ġ: ĠStatus ( key ) ĊĊĠĠĠĠĠĠĠ Ġobject ĠInvalid Ġ: ĠStatus (" INVALID ") ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠtoString () Ġ= Ġkey ĊĊĠĠĠĠĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġget ( type Key : ĠString ?): ĠStatus Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġupper Case d Key Ġ= Ġtype Key ?. uppercase () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupper Case d Key . isNull OrEmpty () Ġ-> ĠInvalid ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupper Case d Key Ġ== ĠPl anned . key Ġ-> ĠPl anned ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupper Case d Key Ġ== ĠIn Progress . key Ġ-> ĠIn Progress ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupper Case d Key Ġ== ĠPause d . key Ġ-> ĠPause d ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupper Case d Key Ġ== ĠCompleted . key Ġ-> ĠCompleted ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupper Case d Key Ġ== ĠC anceled . key Ġ-> ĠC anceled ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠUnknown ( type Key ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠVIEW _ STYLE _ LIST Ġ= Ġ" list " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠVIEW _ STYLE _ BOARD Ġ= Ġ" board " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠVIEW _ STYLE _ DEFAULT Ġ= ĠVIEW _ STYLE _ LIST ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠMIN _ CHILD _ ORDER Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠMIN _ DEPTH Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠMAX _ DEPTH Ġ= Ġ 3 ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġsanitize Name ( name : ĠString ): ĠString Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSanitizers . PROJECT _ NAME _ INVALID _ PATTERN . matcher ( name . trim ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replaceAll ( Sanit izers . REPLACE MENT ) ĊĠĠĠ Ġ} Ċ } Ċ