com.caucho.vfs
Class JarPath

java.lang.Object
  |
  +--com.caucho.vfs.Path
        |
        +--com.caucho.vfs.FilesystemPath
              |
              +--com.caucho.vfs.JarPath

public class JarPath
extends FilesystemPath

A filesystem for .jar files.

TODO: caching.


Fields inherited from class com.caucho.vfs.FilesystemPath
bindRoot, pathname, root, separatorChar, userPath
 
Fields inherited from class com.caucho.vfs.Path
schemeMap
 
Constructor Summary
protected JarPath(FilesystemPath root, java.lang.String userPath, java.lang.String path, com.caucho.vfs.Jar jarFile)
           
  JarPath(Path backing)
           
 
Method Summary
 boolean canRead()
          Tests if the file can be read.
 boolean canWrite()
          Tests if the file can be written.
 boolean equals(java.lang.Object b)
           
 boolean exists()
          Tests if the file exists.
protected  Path fsWalk(java.lang.String userPath, java.util.Map attributes, java.lang.String path)
          Lookup a path relative to the current filesystem's root.
 Path getContainer()
           
 long getLastModified()
          Returns the last modified time of the file.
 long getLength()
          Returns the length of the file in bytes.
 java.lang.String getScheme()
          Returns the url scheme
 int hashCode()
           
 boolean isDirectory()
          Tests if the path refers to a directory.
 boolean isFile()
          Tests if the path refers to a file.
 java.lang.String[] list()
           
 StreamImpl openReadImpl()
           
 java.lang.String toString()
           
 
Methods inherited from class com.caucho.vfs.FilesystemPath
bind, copy, createRoot, getFullPath, getParent, getPath, getTail, getURL, getUserPath, normalizePath, normalizePath, schemeWalk, setUserPath
 
Methods inherited from class com.caucho.vfs.Path
createNewFile, createTempFile, getAttribute, getAttributeNames, getContentType, getHost, getNativePath, getPort, getQuery, getValue, isObject, iterator, lookup, lookup, lookupNative, lookupNative, mkdir, mkdirs, openAppend, openAppendImpl, openRead, openReadWrite, openReadWriteImpl, openWrite, openWriteImpl, remove, removeAttribute, renameTo, renameTo, scanScheme, setAttribute, setLastModified, setValue, unbind, writeToStream
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JarPath

protected JarPath(FilesystemPath root,
                  java.lang.String userPath,
                  java.lang.String path,
                  com.caucho.vfs.Jar jarFile)
Parameters:
path - canonical path

JarPath

public JarPath(Path backing)
Method Detail

fsWalk

protected Path fsWalk(java.lang.String userPath,
                      java.util.Map attributes,
                      java.lang.String path)
Description copied from class: FilesystemPath
Lookup a path relative to the current filesystem's root. Filesystems will specialize fsWalk.
Overrides:
fsWalk in class FilesystemPath
Tags copied from class: FilesystemPath
Parameters:
userPath - the exact string passed by the user's lookup()
newAttributes - the user's new attributes
newPath - the normalized real path
Returns:
the matching path

getScheme

public java.lang.String getScheme()
Description copied from class: Path
Returns the url scheme
Overrides:
getScheme in class Path

getContainer

public Path getContainer()

exists

public boolean exists()
Description copied from class: Path
Tests if the file exists.
Overrides:
exists in class Path

isDirectory

public boolean isDirectory()
Description copied from class: Path
Tests if the path refers to a directory.
Overrides:
isDirectory in class Path

isFile

public boolean isFile()
Description copied from class: Path
Tests if the path refers to a file.
Overrides:
isFile in class Path

getLength

public long getLength()
Description copied from class: Path
Returns the length of the file in bytes.
Overrides:
getLength in class Path
Tags copied from class: Path
Returns:
0 for non-files

getLastModified

public long getLastModified()
Description copied from class: Path
Returns the last modified time of the file. According to the jdk, this may not correspond to the system time.
Overrides:
getLastModified in class Path
Tags copied from class: Path
Returns:
0 for non-files.

canRead

public boolean canRead()
Description copied from class: Path
Tests if the file can be read.
Overrides:
canRead in class Path

canWrite

public boolean canWrite()
Description copied from class: Path
Tests if the file can be written.
Overrides:
canWrite in class Path

list

public java.lang.String[] list()
                        throws java.io.IOException
Overrides:
list in class Path
Tags copied from class: Path
Returns:
The contents of this directory or null if the path does not refer to a directory.

openReadImpl

public StreamImpl openReadImpl()
                        throws java.io.IOException
Overrides:
openReadImpl in class Path

toString

public java.lang.String toString()
Overrides:
toString in class FilesystemPath

hashCode

public int hashCode()
Overrides:
hashCode in class FilesystemPath

equals

public boolean equals(java.lang.Object b)
Overrides:
equals in class FilesystemPath