package rtt.annotation.editor.data.asm;
import java.io.IOException;
import java.nio.file.FileVisitResult;
import java.nio.file.Path;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes;
import rtt.annotation.editor.model.ClassModel;
import rtt.annotation.editor.model.ClassModelFactory;
public abstract class AbstractFileWalker extends SimpleFileVisitor<Path> {
protected ClassModelFactory factory;
protected ClassModel model;
public AbstractFileWalker(ClassModel model) {
this.model = model;
this.factory = ClassModelFactory.getFactory();
}
@Override
public final FileVisitResult visitFile(Path file, BasicFileAttributes attrs)
throws IOException {
String fileName = file.getFileName().toString();
if (attrs.isRegularFile() && fileName.endsWith(".class")) {
processData(file);
}
return FileVisitResult.CONTINUE;
}
protected abstract void processData(Path file) throws IOException;
}