Source of DirectoryNode.java


  1: import java.io.*;

  3: public class DirectoryNode implements FileSystemNode
  4: {
  5:    public DirectoryNode(File directory)
  6:    {
  7:       this.directory = directory;
  8:    }

 10:    public void accept(FileSystemVisitor v)
 11:    {
 12:       v.visitDirectoryNode(this);
 13:    }

 15:    public File getDirectory() { return directory; }

 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:    }

 32:    private File directory;
 33: }