package org.tessell.generators;
import java.io.File;
import java.util.Set;
import java.util.TreeSet;
import joist.sourcegen.GClass;
import org.apache.commons.io.FileUtils;
public class Cleanup {
private final File outputDirectory;
private final Set<String> filesAssumedBad = new TreeSet<String>();
public Cleanup(final File outputDirectory) {
this.outputDirectory = outputDirectory;
}
public void watchPackage(String packageName) {
File packageDirectory = new File(outputDirectory, packageName.replace(".", File.separator));
if (packageDirectory.exists()) {
for (File file : FileUtils.listFiles(packageDirectory, null, true)) {
filesAssumedBad.add(file.getAbsolutePath());
}
}
}
public void markTypeOkay(String className) {
filesAssumedBad.remove(new File(outputDirectory, className.replace(".", File.separator) + ".java").getAbsolutePath());
}
public void markOkay(File file) {
filesAssumedBad.remove(file.getAbsolutePath());
}
public void markOkay(GClass gc) {
filesAssumedBad.remove(new File(outputDirectory, gc.getFileName()).getAbsolutePath());
}
public void deleteLeftOvers() {
for (String bad : filesAssumedBad) {
System.out.println("deleting " + bad);
new File(bad).delete();
}
}
}