package Ġcom . cool 1 0 2 4 . server . file Ċ Ċ import Ġms links . Shell Link Ċ import Ġjava . io . File Ċ Ċ data Ġclass ĠFile Item ( ĊĠĠĠ Ġval Ġdir Reader : ĠDir Reader , ĊĠĠĠ Ġval ĠfileType : ĠFile Type , ĊĠĠĠ Ġval Ġpath : ĠString , ĊĠĠĠ Ġval ĠfileName : ĠString Ċ ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠIMAGE _ EX _ NAME Ġ= ĠarrayOf (". jpg ", Ġ". jpeg ", Ġ". gif ", Ġ". webp ", Ġ". png ", Ġ". bmp ", Ġ". svg ") ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠPDF _ EX _ NAME Ġ= ĠarrayOf (". pdf ") ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠV IDE O _ EX _ NAME Ġ= ĠarrayOf (". mp 4 ", Ġ". fl v ", Ġ". w mv ") ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠM US IC _ EX _ NAME Ġ= ĠarrayOf (". mp 3 ", Ġ". wav ", Ġ". fl ac ") ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠZIP _ EX _ NAME Ġ= ĠarrayOf (". rar ", Ġ". zip ", Ġ". 7 z ") ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠDO CS _ EX _ NAME Ġ= ĠarrayOf (". doc ", Ġ". docx ") ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠEX CEL _ EX _ NAME Ġ= ĠarrayOf (". xls ", Ġ". xlsx ") ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠTEXT _ EX _ NAME Ġ= ĠarrayOf (". md ", Ġ". html ", Ġ". text ", Ġ". txt ", Ġ". text ") ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠLINK _ EX _ NAME Ġ= ĠarrayOf (". lnk ", Ġ". LN K ") ĊĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( parent Dir : ĠDir Reader , Ġfile : ĠFile ): ĠFile Item Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( file . isDirectory ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠFile Item ( parent Dir , ĠFile Type . DIR , Ġfile . path , Ġfile . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠfileType Ġ= Ġwhen Ġ( "." Ġ+ Ġfile . extension ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin ĠIMAGE _ EX _ NAME Ġ-> ĠFile Type . IMAGE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin ĠPDF _ EX _ NAME Ġ-> ĠFile Type . PDF ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin ĠV IDE O _ EX _ NAME Ġ-> ĠFile Type . VIDEO ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin ĠM US IC _ EX _ NAME Ġ-> ĠFile Type . M US IC ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin ĠDO CS _ EX _ NAME Ġ-> ĠFile Type . DOCS ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin ĠLINK _ EX _ NAME Ġ-> ĠFile Type . LINK ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin ĠZIP _ EX _ NAME Ġ-> ĠFile Type . ZIP ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin ĠTEXT _ EX _ NAME Ġ-> ĠFile Type . TEXT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin ĠEX CEL _ EX _ NAME Ġ-> ĠFile Type . EX CEL ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠFile Type . OTHER ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( fileType Ġ== ĠFile Type . LINK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcreate ( parent Dir , ĠFile ( Shell Link ( file ). resolve Target ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠFile Item ( parent Dir , ĠfileType , Ġfile . path , Ġfile . name ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ