package Ġcom . the code sl inger . audio kon verter Ċ Ċ import Ġjava . io . File Ċ Ċ /** Ċ Ġ* ĠRe cursively Ġscan Ġthe Ġconfigured Ġfolder Ġand Ġconvert Ġany Ġfound Ġfile Ġto Ġa Ġcompressed Ċ Ġ* Ġaudio Ġformat . Ċ Ġ* Ċ Ġ* ĠNote Ġthat Ġa Ġcertain Ġfile Ġhy gi ene Ġis Ġrequired Ġor Ġelse Ġthe Ġprocess Ġwill Ġfail Ċ Ġ* Ġunexpected ly . ĠOther Ġthan Ġan Ġalbum Ġcover Ġand Ġaudio Ġfiles Ġnothing Ġelse Ġshould Ċ Ġ* Ġres ide Ġin Ġthe Ġfolders Ġthat Ġare Ġscanned . Ċ Ġ*/ Ċ class ĠScanner ( private Ġval Ġconfig : ĠInput Config , Ġprivate Ġval Ġconverter : ĠConverter ) Ġ{ ĊĠĠĠĠĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠExecute Ġthe Ġrecursive Ġscan . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġrun () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdir Ġ= ĠFile ( config . path ) ĊĠĠĠĠĠĠĠ Ġdir . walk Top Down (). filter (:: is El igible File ). forEach ( converter :: convert ) ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturn Ġ` true ` Ġif Ġ` file ` Ġis Ġnot Ġa Ġdirectory Ġand Ġits Ġname Ġdoes Ġnot Ġmatch Ġthe ĊĠĠĠĠ Ġ* Ġconfigured Ġname Ġof Ġthe Ġalbum Ġcover Ġfile . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġis El igible File ( file : ĠFile ) Ġ: ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfile . isFile Ġ&& Ġfile . name Ġ!= Ġconfig . cover ĊĠĠĠ Ġ} Ċ }