package Ġit . i aco vel li . model Ċ Ċ import Ġcom . google . common . collect . ImmutableList Ċ import Ġit . i aco vel li . exception . Too Many Numbers Into Row Exception Ċ import Ġit . i aco vel li . helper . R uffle Helper Ċ Ċ /** Ċ Ġ* ĠThe Ġmodel Ġof Ġthe Ġrow Ġof Ġa Ġr uffle Ġfolder Ċ Ġ* Ġ@ see ĠR uffle Folder Ċ Ġ* Ċ Ġ* Ġ@ author Ġn ico - i aco Ċ Ġ* Ġ@ since Ġ 1 . 0 Ċ Ġ*/ Ċ class ĠR uffle Folder Row Ġ{ ĊĊĠĠĠ Ġ// Each Ġrow Ġcan 't Ġhave Ġmore Ġthan Ġ 5 Ġnumber ĊĊĠĠĠ Ġprivate Ġval Ġnumber Row Ġ: ĠMutable List < Int > Ġ= ĠArrayList () ĊĊĠĠĠ Ġfun Ġget Number Row () Ġ: ĠList < Int > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠImmutableList . copyOf ( number Row ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd Number ( number : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( number Row . size Ġ== Ġ 5 ) Ġthrow ĠToo Many Numbers Into Row Exception (" Reached Ġmaximum Ġnumber Ġof Ġallowed Ġmembers Ġfor Ġthis Ġrow ") ĊĠĠĠĠĠĠĠ Ġif Ġ(! R uffle Helper . validate Number Row ( number , Ġnumber Row )) Ġthrow ĠIllegalArgumentException (" Number Ġnot Ġallowed ") ĊĠĠĠĠĠĠĠ Ġnumber Row . add ( number ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsort Row () Ġ{ ĊĠĠĠĠĠĠĠ Ġnumber Row . sort () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" R uffle Folder Row ( number Row =$ number Row )" ĊĠĠĠ Ġ} ĊĊ Ċ }