Package org.eclipse.jetty.util.resource
Class JarFileResource
- java.lang.Object
-
- org.eclipse.jetty.util.resource.Resource
-
- org.eclipse.jetty.util.resource.URLResource
-
- org.eclipse.jetty.util.resource.JarResource
-
- org.eclipse.jetty.util.resource.JarFileResource
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,ResourceFactory
public class JarFileResource extends JarResource
-
-
Field Summary
-
Fields inherited from class org.eclipse.jetty.util.resource.JarResource
_jarConnection
-
Fields inherited from class org.eclipse.jetty.util.resource.URLResource
_connection, _in, _url, _urlString
-
Fields inherited from class org.eclipse.jetty.util.resource.Resource
__defaultUseCaches
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
JarFileResource(java.net.URL url)
protected
JarFileResource(java.net.URL url, boolean useCaches)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
checkConnection()
void
close()
Release any resources held by the resource.boolean
exists()
Returns true if the represented resource exists.java.io.File
getJarFile()
static Resource
getNonCachingResource(Resource resource)
Take a Resource that possibly might use URLConnection caching and turn it into one that doesn't.boolean
isContainedIn(Resource resource)
Check if this jar:file: resource is contained in the named resource.boolean
isDirectory()
Returns true if the represented resource is a container/directory.long
lastModified()
Returns the last modified timelong
length()
Return the length of the resourcejava.lang.String[]
list()
Returns a list of resource names contained in the given resourceprotected void
newConnection()
-
Methods inherited from class org.eclipse.jetty.util.resource.JarResource
copyTo, getFile, getInputStream, newJarResource
-
Methods inherited from class org.eclipse.jetty.util.resource.URLResource
addPath, delete, equals, getInputStream, getName, getReadableByteChannel, getURL, getUseCaches, hashCode, renameTo, toString
-
Methods inherited from class org.eclipse.jetty.util.resource.Resource
encode, finalize, getAlias, getAllResources, getAssociate, getDefaultUseCaches, getListHTML, getListHTML, getResource, getURI, getWeakETag, getWeakETag, isAlias, isContainedIn, isSame, newClassPathResource, newClassPathResource, newResource, newResource, newResource, newResource, newResource, newResource, newSystemResource, release, setAssociate, setDefaultUseCaches, toURL, writeTo
-
-
-
-
Method Detail
-
close
public void close()
Description copied from class:URLResource
Release any resources held by the resource.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classJarResource
-
checkConnection
protected boolean checkConnection()
- Overrides:
checkConnection
in classJarResource
-
newConnection
protected void newConnection() throws java.io.IOException
- Overrides:
newConnection
in classJarResource
- Throws:
java.io.IOException
- Sub-classes ofJarResource
may throw an IOException (or subclass)
-
exists
public boolean exists()
Returns true if the represented resource exists.- Overrides:
exists
in classJarResource
- Returns:
- true if the represented resource exists.
-
isDirectory
public boolean isDirectory()
Returns true if the represented resource is a container/directory. If the resource is not a file, resources ending with "/" are considered directories.- Overrides:
isDirectory
in classURLResource
- Returns:
- true if the represented resource is a container/directory. if the resource is not a file, resources ending with "/" are considered directories.
-
lastModified
public long lastModified()
Returns the last modified time- Overrides:
lastModified
in classURLResource
- Returns:
- the last modified time as milliseconds since unix epoch
-
list
public java.lang.String[] list()
Description copied from class:URLResource
Returns a list of resource names contained in the given resource- Overrides:
list
in classURLResource
- Returns:
- a list of resource names contained in the given resource, or null. Note: The resource names are not URL encoded.
-
length
public long length()
Return the length of the resource- Overrides:
length
in classURLResource
- Returns:
- the length of the resource
-
getNonCachingResource
public static Resource getNonCachingResource(Resource resource)
Take a Resource that possibly might use URLConnection caching and turn it into one that doesn't.- Parameters:
resource
- the JarFileResource to obtain without URLConnection caching.- Returns:
- the non-caching resource
-
isContainedIn
public boolean isContainedIn(Resource resource) throws java.net.MalformedURLException
Check if this jar:file: resource is contained in the named resource. Egjar:file:///a/b/c/foo.jar!/x.html
isContainedInfile:///a/b/c/foo.jar
- Overrides:
isContainedIn
in classURLResource
- Parameters:
resource
- the resource to test for- Returns:
- true if resource is contained in the named resource
- Throws:
java.net.MalformedURLException
- if unable to process is contained due to invalid URL format
-
getJarFile
public java.io.File getJarFile()
-
-