package Ġcom . red mad robot . input mask . model . state Ċ Ċ import Ġcom . red mad robot . input mask . model . Next Ċ import Ġcom . red mad robot . input mask . model . State Ċ Ċ /** Ċ Ġ* Ġ### ĠFixed State Ċ Ġ* Ċ Ġ* ĠRepresents Ġcharacters Ġin Ġcur ly Ġbr aces Ġ{} . Ċ Ġ* Ċ Ġ* ĠAccept s Ġevery Ġcharacter Ġbut Ġdoes Ġnot Ġput Ġit Ġinto Ġthe Ġresult Ġstring , Ġunless Ġthe Ġcharacter Ġequals Ċ Ġ* Ġthe Ġone Ġfrom Ġthe Ġmask Ġformat . ĠIf Ġit 's Ġnot , Ġinserts Ġthe Ġsymbol Ġfrom Ġthe Ġmask Ġformat Ġinto Ġthe Ċ Ġ* Ġresult . Ċ Ġ* Ċ Ġ* ĠAlways Ġreturns Ġself Ġas Ġan Ġextracted Ġvalue . Ċ Ġ* Ġ@ author Ġta fl an idi Ċ Ġ*/ Ċ class ĠFixed State ( child : ĠState ?, Ġval Ġown Character : ĠChar ) Ġ: ĠState ( child ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġaccept ( character : ĠChar ): ĠNext ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( this . own Character Ġ== Ġcharacter ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNext ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . next State (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcharacter , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcharacter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNext ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . next State (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . own Character , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . own Character ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġautocomplete (): ĠNext ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠNext ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . next State (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . own Character , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . own Character ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" {" Ġ+ Ġthis . own Character Ġ+ Ġ"} Ġ-> Ġ" Ġ+ Ġif Ġ( null Ġ== Ġthis . child ) Ġ" null " Ġelse Ġchild . toString () ĊĠĠĠ Ġ} Ċ }