1 import java.io.*;
2
3 public class DirectoryNode implements FileSystemNode
4 {
5 public DirectoryNode(File directory)
6 {
7 this.directory = directory;
8 }
9
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 = new FileSystemNode[files.length];
21 for (int i = 0; i < files.length; i++)
22 {
23 File f = files[i];
24 if (f.isDirectory())
25 children[i] = new DirectoryNode(f);
26 else
27 children[i] = new FileNode(f);
28 }
29 return children;
30 }
31
32 private File directory;
33 }