package Ġcom . he er ki rov . hed ge . server . utils . types Ċ Ċ import Ġjava . util .* Ċ Ċ class ĠOrder Item Ġ{ ĊĠĠĠ Ġval Ġname : ĠString ĊĠĠĠ Ġval Ġdesc : ĠBoolean ĊĊĠĠĠ Ġconstructor ( item Line : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem Line . startsWith ('+ ') Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġitem Line . substring ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdesc Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem Line . startsWith ('- ') Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġitem Line . substring ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdesc Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġitem Line ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdesc Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġconstructor ( name : ĠString , Ġdesc : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . name Ġ= Ġname ĊĠĠĠĠĠĠĠ Ġthis . desc Ġ= Ġdesc ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġis Asc end () Ġ= Ġ! desc ĊĠĠĠ Ġfun Ġis Desc end () Ġ= Ġdesc ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?) Ġ= Ġother Ġ=== Ġthis Ġ|| Ġother Ġis ĠOrder Item Ġ&& Ġother . name Ġ== Ġthis . name Ġ&& Ġother . desc Ġ== Ġthis . desc ĊĠĠĠ Ġoverride Ġfun ĠhashCode () Ġ= ĠObjects . hash ( name , Ġdesc ) Ċ } Ċ Ċ @ Suppress (" NOTH ING _ TO _ INLINE ") Ċ inline Ġfun Ġascending Order Item ( name : ĠString ) Ġ= ĠOrder Item ( name , Ġdesc Ġ= Ġfalse ) Ċ Ċ @ Suppress (" NOTH ING _ TO _ INLINE ") Ċ inline Ġfun Ġdescending Order Item ( name : ĠString ) Ġ= ĠOrder Item ( name , Ġdesc Ġ= Ġtrue )