org.jboss.virtual.plugins.context.jar
Class NoCopyNestedJarHandler

java.lang.Object
  extended by org.jboss.virtual.plugins.context.AbstractVirtualFileHandler
      extended by org.jboss.virtual.plugins.context.AbstractURLHandler
          extended by org.jboss.virtual.plugins.context.jar.AbstractJarHandler
              extended by org.jboss.virtual.plugins.context.jar.NoCopyNestedJarHandler
All Implemented Interfaces:
java.io.Serializable, StructuredVirtualFileHandler, VirtualFileHandler

public class NoCopyNestedJarHandler
extends AbstractJarHandler

Nested Jar Handler.

Version:
$Revision: 1.1 $
Author:
Adrian Brock
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.jboss.virtual.plugins.context.AbstractVirtualFileHandler
cachedLastModified, log, vfsUrl
 
Constructor Summary
NoCopyNestedJarHandler(VFSContext context, VirtualFileHandler parent, java.util.jar.JarFile parentJar, java.util.jar.JarEntry entry, java.net.URL url)
          Create a new NestedJarHandler.
 
Method Summary
 VirtualFileHandler findChild(java.lang.String path)
          Find a child
 java.util.List<VirtualFileHandler> getChildren(boolean ignoreErrors)
          Get the children
protected  java.util.jar.JarEntry getEntry()
          Get the entry
 long getLastModified()
          When the file was last modified
 long getSize()
          Get the size
 java.io.InputStream openStream()
          Access the file contents.
 
Methods inherited from class org.jboss.virtual.plugins.context.jar.AbstractJarHandler
buildParents, createChildHandler, createVirtualFileHandler, doClose, fromURL, getEntryName, getJar, getURL, initJarFile, isLeaf
 
Methods inherited from class org.jboss.virtual.plugins.context.AbstractURLHandler
getURL, initCacheLastModified, isHidden, toURI, toURL
 
Methods inherited from class org.jboss.virtual.plugins.context.AbstractVirtualFileHandler
checkClosed, close, equals, getName, getParent, getPathName, getVFSContext, getVirtualFile, hasBeenModified, hashCode, simpleFindChild, structuredFindChild, toString, toVfsUrl
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

NoCopyNestedJarHandler

public NoCopyNestedJarHandler(VFSContext context,
                              VirtualFileHandler parent,
                              java.util.jar.JarFile parentJar,
                              java.util.jar.JarEntry entry,
                              java.net.URL url)
                       throws java.io.IOException
Create a new NestedJarHandler.

Parameters:
context - the context
parent - the parent
parentJar - the parent jar file
entry - the jar entry
url - the url
Throws:
java.io.IOException - for an error accessing the file system
java.lang.IllegalArgumentException - for a null context, url or vfsPath
Method Detail

getEntry

protected java.util.jar.JarEntry getEntry()
Get the entry

Returns:
the file

getLastModified

public long getLastModified()
                     throws java.io.IOException
Description copied from interface: VirtualFileHandler
When the file was last modified

Specified by:
getLastModified in interface VirtualFileHandler
Overrides:
getLastModified in class AbstractURLHandler
Returns:
the last modified time
Throws:
java.io.IOException - for any problem accessing the virtual file system

getSize

public long getSize()
             throws java.io.IOException
Description copied from interface: VirtualFileHandler
Get the size

Specified by:
getSize in interface VirtualFileHandler
Overrides:
getSize in class AbstractURLHandler
Returns:
the size
Throws:
java.io.IOException - for any problem accessing the virtual file system

openStream

public java.io.InputStream openStream()
                               throws java.io.IOException
Description copied from interface: VirtualFileHandler
Access the file contents.

Specified by:
openStream in interface VirtualFileHandler
Overrides:
openStream in class AbstractURLHandler
Returns:
An InputStream for the file contents.
Throws:
java.io.IOException - for any problem accessing the virtual file system

findChild

public VirtualFileHandler findChild(java.lang.String path)
                             throws java.io.IOException
Description copied from interface: VirtualFileHandler
Find a child

Specified by:
findChild in interface VirtualFileHandler
Overrides:
findChild in class AbstractJarHandler
Parameters:
path - the path
Returns:
the child
Throws:
java.io.IOException - for an error accessing the file system (or the child doesn't exist)

getChildren

public java.util.List<VirtualFileHandler> getChildren(boolean ignoreErrors)
                                               throws java.io.IOException
Description copied from interface: VirtualFileHandler
Get the children

Specified by:
getChildren in interface VirtualFileHandler
Overrides:
getChildren in class AbstractJarHandler
Parameters:
ignoreErrors - whether to ignore errors
Returns:
the children
Throws:
java.io.IOException - for an error accessing the file system