package net.sf.cotta; abstract public class AbstractFileVisitor implements FileVisitor { private boolean recursive = true; public AbstractFileVisitor() { this(true); } public AbstractFileVisitor(boolean recursive) { this.recursive = recursive; } public void visit(TDirectory directory) throws TIoException { TDirectoryListing listing = directory.list(); for (TFile file : listing.files()) { visit(file); } if (recursive) { for (TDirectory subDirectory : listing.dirs()) { subDirectory.visit(this); } } } abstract public void visit(TFile file) throws TIoException; }