8: Create FileCleaner

This commit is contained in:
Bartłomiej Pluta
2019-04-02 20:30:39 +02:00
parent ced7b1017d
commit f432327f3b
2 changed files with 32 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
package com.bartek.esa.file.cleaner;
import com.bartek.esa.error.EsaException;
import io.vavr.control.Try;
import javax.inject.Inject;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Comparator;
public class FileCleaner {
@Inject
public FileCleaner() {
}
public void deleteRecursively(File directory) {
Try.run(() -> Files.walk(directory.toPath())
.sorted(Comparator.reverseOrder())
.map(Path::toFile)
.forEach(File::delete))
.getOrElseThrow(EsaException::new);
}
}

View File

@@ -1,5 +1,6 @@
package com.bartek.esa.file.di;
import com.bartek.esa.file.cleaner.FileCleaner;
import com.bartek.esa.file.matcher.GlobMatcher;
import com.bartek.esa.file.provider.FileContentProvider;
import com.bartek.esa.file.provider.FileProvider;
@@ -29,4 +30,9 @@ public class FileModule {
public ZipTool zipTool() {
return new ZipTool();
}
@Provides
public FileCleaner fileCleaner() {
return new FileCleaner();
}
}