Class ZipFileImpl

java.lang.Object
org.apache.aries.util.filesystem.impl.ZipFileImpl
All Implemented Interfaces:
IFile
Direct Known Subclasses:
ZipDirectory

public class ZipFileImpl extends Object implements IFile
An implementation of IFile that represents a file entry in a zip.
  • Constructor Details

    • ZipFileImpl

      public ZipFileImpl(File zip1, ZipEntry entry1, ZipDirectory parent1, ZipCloseableDirectory cache)
      This constructor is used to create a file entry within the zip.
      Parameters:
      zip1 - the zip file the entry is in.
      entry1 - the entry this IFile represents.
      parent1 - the parent directory.
    • ZipFileImpl

      public ZipFileImpl(ZipFileImpl other, ZipCloseableDirectory cache)
  • Method Details

    • getZipPathToRoot

      public String getZipPathToRoot()
      Obtain the path of the zip file to the VFS root
    • convert

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

      public IDirectory convertNested()
      Specified by:
      convertNested in interface IFile
      Returns:
      if this is a directory or an archive, returns the opened IDirectory
    • getLastModified

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

      public String getName()
      Specified by:
      getName in interface IFile
      Returns:
      the name of the file relative to the root of the virtual FS. This will return a '/' separated path indepedent of underlying filesystem
    • getNameInZip

      public String getNameInZip()
    • getParent

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

      public long getSize()
      Specified by:
      getSize in interface IFile
      Returns:
      the size of the file.
    • isDirectory

      public boolean isDirectory()
      Specified by:
      isDirectory in interface IFile
      Returns:
      true iff this IFile is also an IDirectory
    • isFile

      public boolean isFile()
      Specified by:
      isFile in interface IFile
      Returns:
      true iff this IFile is not an IDirectory
    • 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
      Returns:
      An InputStream to read the file from.
      Throws:
      IOException
    • getRoot

      public IDirectory getRoot()
      Specified by:
      getRoot in interface IFile
      Returns:
      the root of this file system.
    • toURL

      public URL toURL() throws MalformedURLException
      Specified by:
      toURL in interface IFile
      Returns:
      a URL that can be used to get at this file at a later date.
      Throws:
      MalformedURLException
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object