package Ġnet . colors _ wind . n pl web . data Ċ Ċ import Ġjava . io . BufferedReader Ċ import Ġjava . lang . Append able Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* Ċ Ċ data Ġclass ĠMovie Data ( ĊĠĠĠ Ġval Ġid : ĠInt , ĊĠĠĠ Ġval Ġname : ĠString , ĊĠĠĠ Ġval Ġscore : ĠString , ĊĠĠĠ Ġval Ġsentence Data : ĠList < Sentence Data >, ĊĠĠĠ Ġval Ġcreate Date : ĠLong Ġ= ĠSystem . currentTimeMillis (), ĊĠĠĠ Ġval Ġexception : ĠException ? Ġ= Ġnull Ċ ) Ġ{ ĊĊĠĠĠ Ġfun Ġto Message (): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= Ġarray ListOf < String >() ĊĠĠĠĠĠĠĠ Ġmessage . add ("< h 2 >$ name </ h 2 > Ġ< h 6 > çĶµ å½± è¯Ħ åĪĨ : Ġ$ score </ h 6 >") ĊĠĠĠĠĠĠĠ Ġsentence Data . forEach Ġ{ Ġmessage . add ( it . to Message ()) Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġmessage ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġexception Message () Ġ: ĠString ? Ġ= Ġexception ?. message ĊĊĊĊĠĠĠ Ġfun Ġdump ( append able : ĠAppend able ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdata Format Ġ= Ġinitialize Data Format () ĊĠĠĠĠĠĠĠ Ġappend able . append Line ( id . toString ()) ĊĠĠĠĠĠĠĠ Ġappend able . append Line ( name ) ĊĠĠĠĠĠĠĠ Ġappend able . append Line ( score ) ĊĠĠĠĠĠĠĠ Ġsentence Data . forEach Ġ{ Ġit . dump ( append able ) Ġ} ĊĠĠĠĠĠĠĠ Ġappend able . append Line ( END _ SENT ENCES ) ĊĠĠĠĠĠĠĠ Ġappend able . append Line ( data Format . format ( Date ( create Date ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġis Expired () Ġ: ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠSystem . currentTimeMillis () Ġ- Ġcreate Date Ġ> ĠEX PI RED ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Title (): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠlistOf ("$ name Ġ çĶµ å½± è¯Ħ åĪĨ : Ġ$ score ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* Ġ åįł ä½į ç¬¦ , Ġ æłĩè®° æŃ£åľ¨ å¤ĦçĲĨ çĶµ å½± è¯Ħè®º ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġval ĠPL ACE HOLDER Ġ= ĠMovie Data (- 1 , Ġ"-", Ġ"-", Ġempty List ()) ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠEND _ SENT ENCES Ġ= Ġ" %% END _ SENT ENCES " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠEX PI RED Ġ= Ġ 3 0 Ġ* Ġ 2 4 Ġ* Ġ 6 0 Ġ* Ġ 6 0 Ġ* Ġ 1 0 0 0 L ĊĊĠĠĠĠĠĠĠ Ġfun Ġinitialize Data Format () Ġ= ĠSimpleDateFormat (" yyyy - MM - dd ĠHH : mm : ss ") ĊĊĠĠĠĠĠĠĠ Ġoperator Ġfun Ġinvoke ( reader : ĠBufferedReader ): ĠMovie Data Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdata Format Ġ= Ġinitialize Data Format () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġreader . readLine (). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġreader . readLine () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġscore Ġ= Ġreader . readLine () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsentence Data Ġ= Ġarray ListOf < Sentence Data >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( true ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsentence Ġ= Ġreader . readLine () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( sentence Ġ== ĠEND _ SENT ENCES ) Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpossibility Ġ= Ġreader . readLine (). toDouble () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsentence Data . add ( Sentence Data ( sentence , Ġpossibility )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcreate Date Ġ= data Format . parse ( reader . readLine ()). time ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠMovie Data ( id , Ġname , Ġscore , Ġsentence Data , Ġcreate Date ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊ