package Ġpl . gw yn der . general . data . storage . files . path Ċ Ċ import Ġpl . gw yn der . general . commons . base . Base Service Ċ import Ġpl . gw yn der . general . data . storage . files . DataStore File Ċ import Ġpl . gw yn der . general . data . storage . files . DataStore File Service Ċ import Ġpl . gw yn der . general . data . storage . files . DataStore Config Ċ import Ġjava . nio . file . Path Ċ Ċ class ĠPath DataStore File Service ( ĊĠĠĠ Ġprivate Ġval Ġfile Config : ĠPath DataStore Config , ĊĠĠĠ Ġprivate Ġval Ġconfig : ĠData Store Config , ĊĠĠĠ Ġprivate Ġval Ġfile Service : ĠPath Files DataStore Service Ċ ) Ġ: ĠBase Service (), ĠData Store File Service Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġjson ( var arg Ġpath : ĠString ): ĠData Store File Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfixed Path : ĠList < String > Ġ= Ġextension Path ( path , Ġ". json ") ĊĠĠĠĠĠĠĠ Ġval Ġresult Path : ĠPath Ġ= ĠPath . of ( file Config . basePath (). toString (), Ġ* fixed Path . to Typed Array ()) ĊĠĠĠĠĠĠĠ Ġensure Directory ( result Path ) ĊĠĠĠĠĠĠĠ Ġreturn ĠPath DataStore File ( file Service , Ġresult Path ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġensure Directory ( path : ĠPath ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġparent Ġ= Ġpath . parent ĊĠĠĠĠĠĠĠ Ġif Ġ( parent Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfile Service . create Directory ( parent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġextension Path ( path : ĠArray < out ĠString >, Ġextension : ĠString ): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult : ĠMutable List < String > Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġresult . add ( config . moduleName ) ĊĠĠĠĠĠĠĠ Ġresult . addAll ( path . slice ( Int Range ( 0 , Ġpath . size Ġ- Ġ 2 ))) ĊĠĠĠĠĠĠĠ Ġresult . add ( path [ path . size Ġ- Ġ 1 ] Ġ+ Ġextension ) ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} Ċ Ċ } Ċ