01: import java.io.*;
02:
03: public class PrintVisitor implements FileSystemVisitor
04: {
05: public void visitFileNode(FileNode node)
06: {
07: for (int i = 0; i < level; i++) System.out.print(" ");
08: System.out.println(node.getFile().getName());
09: }
10:
11: public void visitDirectoryNode(DirectoryNode node)
12: {
13: for (int i = 0; i < level; i++) System.out.print(" ");
14: System.out.println(node.getDirectory().getName());
15: level++;
16: FileSystemNode[] children = node.getChildren();
17: for (int i = 0; i < children.length; i++)
18: children[i].accept(this);
19: level--;
20: }
21:
22: private int level = 0;
23: }