Class DirectoryImpl

java.lang.Object
org.apache.aries.util.filesystem.impl.FileImpl
org.apache.aries.util.filesystem.impl.DirectoryImpl
All Implemented Interfaces:
Iterable<IFile>, IDirectory, IFile

public class DirectoryImpl extends FileImpl implements IDirectory
An IDirectory representing a java.io.File whose isDirectory method returns true.
  • Constructor Details

    • DirectoryImpl

      public DirectoryImpl(File dir, File rootFile)
      Parameters:
      dir - the file to represent.
      rootFile - the file that represents the FS root.
  • Method Details

    • getFile

      public IFile getFile(String name)
      Description copied from interface: IDirectory
      Gets the requested file under this directory. The file may be located any number of levels within this directory. The name is relative to this directory. If the file cannot be found it will return null.
      Specified by:
      getFile in interface IDirectory
      Parameters:
      name - the name of the file.
      Returns:
      the IFile, or null if no such file exists.
    • isRoot

      public boolean isRoot()
      Specified by:
      isRoot in interface IDirectory
      Returns:
      true if this IDirectory is the root of the virtual file system.
    • listFiles

      public List<IFile> listFiles()
      Specified by:
      listFiles in interface IDirectory
      Returns:
      the list of files in this directory. Files must be in this directory and not in sub-directories.
    • listAllFiles

      public List<IFile> listAllFiles()
      Specified by:
      listAllFiles in interface IDirectory
      Returns:
      the list of files in all directories (including sub-directories). This is the complete list.
    • iterator

      public Iterator<IFile> iterator()
      Specified by:
      iterator in interface Iterable<IFile>
    • getParent

      public IDirectory getParent()
      Specified by:
      getParent in interface IFile
      Overrides:
      getParent in class FileImpl
      Returns:
      returns the parent directory of this IFile, or null if this is the root.
    • convert

      public IDirectory convert()
      Specified by:
      convert in interface IFile
      Overrides:
      convert in class FileImpl
      Returns:
      if this is a directory return this as an IDirectory, otherwise return null.
    • open

      public InputStream open() throws IOException
      Description copied from interface: IFile
      The input stream returned by this method should always be closed after use.
      Specified by:
      open in interface IFile
      Overrides:
      open in class FileImpl
      Returns:
      An InputStream to read the file from.
      Throws:
      IOException
    • getLastModified

      public long getLastModified()
      Specified by:
      getLastModified in interface IFile
      Overrides:
      getLastModified in class FileImpl
      Returns:
      the last modified date of the file.
    • toCloseable

      public ICloseableDirectory toCloseable()
      Description copied from interface: IDirectory
      Open a more effective implementation with user regulated resource management. The implementation will be more efficient for batch operations. Make sure to call close when finished with the returned IDirectory. IFiles and IDirectories other than the returned closeable directory will stay valid after calling the close method but will no longer perform as efficiently. InputStreams that are open at the time of calling close may be invalidated.
      Specified by:
      toCloseable in interface IDirectory
      Returns:
      ICloseableDirectory or null if a batch aware version of this IDirectory is not supported