01: import java.io.*;
02:
03: public class DirectoryNode implements FileSystemNode
04: {
05: public DirectoryNode(File directory)
06: {
07: this.directory = directory;
08: }
09:
10: public void accept(FileSystemVisitor v)
11: {
12: v.visitDirectoryNode(this);
13: }
14:
15: public File getDirectory() { return directory; }
16:
17: public FileSystemNode[] getChildren()
18: {
19: File[] files = directory.listFiles();
20: FileSystemNode[] children
21: = new FileSystemNode[files.length];
22: for (int i = 0; i < files.length; i++)
23: {
24: if (files[i].isDirectory())
25: children[i] = new DirectoryNode(files[i]);
26: else
27: children[i] = new FileNode(files[i]);
28: }
29: return children;
30: }
31:
32: private File directory;
33: }