package Ġz lc . season . rx download 4 . watcher Ċ Ċ import Ġz lc . season . rx download 4 . task . Task Ċ import Ġz lc . season . rx download 4 . utils . getFile Ċ Ċ object ĠWatch er Impl Ġ: ĠWatch er Ġ{ ĊĠĠĠ Ġprivate Ġval Ġtask Map Ġ= Ġmutable Map Of < String , ĠString >() ĊĠĠĠ Ġprivate Ġval Ġfile Map Ġ= Ġmutable Map Of < String , ĠString >() ĊĊĠĠĠ Ġ@ Synchron ized ĊĠĠĠ Ġoverride Ġfun Ġwatch ( task : ĠTask ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// check Ġtask ĊĠĠĠĠĠĠĠ Ġcheck ( task Map [ task . tag ()] Ġ== Ġnull ) Ġ{ Ġ" Task Ġ[ ${ task . tag ()} Ġis Ġexists !" Ġ} ĊĊĠĠĠĠĠĠĠ Ġval ĠfilePath Ġ= Ġtask . getFile (). canonical Path ĊĠĠĠĠĠĠĠ Ġ// check Ġfile ĊĠĠĠĠĠĠĠ Ġcheck ( file Map [ filePath ] Ġ== Ġnull ) Ġ{ Ġ" File Ġ[$ filePath ] Ġis Ġoccupied !" Ġ} ĊĊĠĠĠĠĠĠĠ Ġtask Map [ task . tag ()] Ġ= Ġtask . tag () ĊĠĠĠĠĠĠĠ Ġfile Map [ filePath ] Ġ= ĠfilePath ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Synchron ized ĊĠĠĠ Ġoverride Ġfun Ġun watch ( task : ĠTask ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtask Map . remove ( task . tag ()) ĊĠĠĠĠĠĠĠ Ġfile Map . remove ( task . getFile (). canonical Path ) ĊĠĠĠ Ġ} Ċ }