package Ġorg . pro meth ist . core . runtime Ċ Ċ import Ġorg . pro meth ist . core . model . FileObject Ċ import Ġorg . pro meth ist . core . storage . File Storage Ċ import Ġjava . io . ByteArray InputStream Ċ import Ġjava . io . ByteArray OutputStream Ċ import Ġjava . io . InputStream Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠFile Resource Loader ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠbasePath : ĠString , ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġno Cache : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġuse Script : ĠBoolean Ġ= Ġfalse ) Ġ: ĠAbstract Loader ( no Cache , Ġuse Script ) Ġ{ ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġfile Storage : ĠFile Storage ĊĊĠĠĠ Ġoverride Ġfun Ġget InputStream ( name : ĠString ): ĠInputStream Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . info (" Loading Ġfile Ġresource Ġ$ name ") ĊĠĠĠĠĠĠĠ Ġval Ġpath Ġ= Ġ"$ basePath /$ name " ĊĠĠĠĠĠĠĠ Ġval Ġbuf Ġ= ĠByteArrayOutputStream () ĊĠĠĠĠĠĠĠ Ġfile Storage . readFile ( path , Ġbuf ) ĊĠĠĠĠĠĠĠ Ġreturn ĠByteArrayInputStream ( buf . toByteArray ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetFile Object ( name : ĠString ): ĠFile Object Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . info (" Checking Ġfile Ġresource Ġ$ name ") ĊĠĠĠĠĠĠĠ Ġreturn Ġfile Storage . getFile ("$ basePath /$ name ") ĊĠĠĠ Ġ} Ċ }