org.apache.aries.util.filesystem.impl
Class ZipFileImpl

java.lang.Object
  extended by 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.


Field Summary
protected  ZipCloseableDirectory cache
          The closeable directory that caches the open ZipFile
protected  ZipEntry entry
          The entry in the zip this IFile represents
protected  File zip
          The zip file this is contained in
 
Constructor Summary
protected ZipFileImpl(File zip1, IDirectory parent)
          This is called to construct the root directory of the zip.
  ZipFileImpl(File zip1, ZipEntry entry1, ZipDirectory parent1, ZipCloseableDirectory cache)
          This constructor is used to create a file entry within the zip.
  ZipFileImpl(ZipFileImpl other, ZipCloseableDirectory cache)
           
 
Method Summary
 IDirectory convert()
           
 IDirectory convertNested()
           
 boolean equals(Object obj)
           
 long getLastModified()
           
 String getName()
           
 String getNameInZip()
           
 IDirectory getParent()
           
 IDirectory getRoot()
           
 long getSize()
           
 String getZipPathToRoot()
          Obtain the path of the zip file to the VFS root
 int hashCode()
           
 boolean isDirectory()
           
 boolean isFile()
           
 InputStream open()
          The input stream returned by this method should always be closed after use.
 String toString()
           
 URL toURL()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

zip

protected final File zip
The zip file this is contained in


entry

protected final ZipEntry entry
The entry in the zip this IFile represents


cache

protected final ZipCloseableDirectory cache
The closeable directory that caches the open ZipFile

Constructor Detail

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

protected ZipFileImpl(File zip1,
                      IDirectory parent)
               throws MalformedURLException
This is called to construct the root directory of the zip.

Parameters:
zip1 - the zip file this represents.
fs - the file on the fs.
rootName - the name of this zipfile relative to the IFile filesystem root
Throws:
MalformedURLException

ZipFileImpl

public ZipFileImpl(ZipFileImpl other,
                   ZipCloseableDirectory cache)
Method Detail

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


Copyright © 2009-2011 The Apache Software Foundation. All Rights Reserved.