package Ġpt . mar me lo . ets 2 ats job sync . client Ċ Ċ import Ġpt . mar me lo . ets 2 ats job sync . common . Game Ċ import Ġpt . mar me lo . ets 2 ats job sync . parser . Context Ċ import Ġjava . nio . file . Files Ċ import Ġjava . nio . file . Path Ċ import Ġjava . util .* Ċ Ċ class ĠProfile ( ĊĠĠĠ Ġdirectory : ĠPath Ċ ) Ġ: ĠAbstract Save ( directory , ĠS II _ BAS ENAME , ĠNAME _ ATTRIBUTE , ĠSAVE _ TIME _ ATTRIBUTE ) Ġ{ ĊĠĠĠ Ġprivate Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠS II _ BAS ENAME Ġ= Ġ" profile . si i " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠNAME _ ATTRIBUTE Ġ= Ġ" profile _ name " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSAVE _ TIME _ ATTRIBUTE Ġ= Ġ" save _ time " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠMAP _ ATTRIBUTE Ġ= Ġ" map _ path " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġ_ s aves : ĠMutable List < Save > Ġ= ĠArrayList () ĊĠĠĠ Ġval Ġsaves : ĠList < Save > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ s aves . toList () ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġinit () ĊĠĠĠĠĠĠĠ Ġval Ġsaves Dir Ġ= Ġdirectory . resolve (" save ") ĊĠĠĠĠĠĠĠ ĠFiles . walk ( s aves Dir , Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġf Ġ-> Ġf Ġ!= Ġsaves Dir Ġ} Ġ// Ġskip Ġroot ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġf Ġ-> ĠFiles . isDirectory ( f ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġf Ġ-> Ġ! f . fileName . toString (). contains (" autos ave ") Ġ} Ġ// Ġskip Ġautos aves ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach { Ġf Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsave Ġ= ĠSave ( game , Ġf ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( save . isValid ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ s aves . add ( save ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ_ s aves . sort Descending () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprocess At ribut e ( context : ĠContext , Ġname : ĠString , Ġvalue : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( context Ġ== ĠContext . ATTRIBUTE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( name Ġ== ĠMAP _ ATTRIBUTE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTODO Ġvalidate ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGame . ETS 2 . map Value Ġ-> Ġgame Ġ= ĠGame . ETS 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGame . ATS . map Value Ġ-> Ġgame Ġ= ĠGame . ATS ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġvalidate (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġgame Ġ!= ĠGame . INVALID ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ"$ name Ġ- Ġ$ save Time " ĊĠĠĠ Ġ} ĊĊ Ċ } Ċ