|
|||||||||
Home >> All >> edu >> emory >> mathcs >> util >> classloader >> [ jar overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: ![]() ![]() ![]() |
DETAIL: FIELD | CONSTR | METHOD |
edu.emory.mathcs.util.classloader.jar
Class JarProxy

java.lang.Objectedu.emory.mathcs.util.classloader.jar.JarProxy
- All Implemented Interfaces:
- JarURLConnection.JarOpener
- public class JarProxy
- extends java.lang.Object
- implements JarURLConnection.JarOpener
- extends java.lang.Object
Implementation of JarURLConnection.JarOpener that caches downloaded JAR files in a local file system.
- Version:
- 1.0
Nested Class Summary | |
private static class |
JarProxy.CachedJarFile
|
Field Summary | |
private java.util.Map |
cache
|
Constructor Summary | |
JarProxy()
|
Method Summary | |
protected void |
clear()
|
protected void |
finalize()
Called on an object by the Virtual Machine at most once, at some point after the Object is determined unreachable but before it is destroyed. |
java.util.jar.JarFile |
openJarFile(java.net.JarURLConnection conn)
Given the URL connection (not yet connected), return JarFile representing the resource. |
Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
cache
private final java.util.Map cache
Constructor Detail |
JarProxy
public JarProxy()
Method Detail |
openJarFile
public java.util.jar.JarFile openJarFile(java.net.JarURLConnection conn) throws java.io.IOException
- Description copied from interface:
JarURLConnection.JarOpener
- Given the URL connection (not yet connected), return JarFile
representing the resource. This method is invoked as a part of
the
connect
method in JarURLConnection.- Specified by:
openJarFile
in interfaceJarURLConnection.JarOpener
clear
protected void clear()
finalize
protected void finalize()
- Description copied from class:
java.lang.Object
- Called on an object by the Virtual Machine at most once,
at some point after the Object is determined unreachable
but before it is destroyed. You would think that this
means it eventually is called on every Object, but this is
not necessarily the case. If execution terminates
abnormally, garbage collection does not always happen.
Thus you cannot rely on this method to always work.
For finer control over garbage collection, use references
from the
java.lang.ref
package.Virtual Machines are free to not call this method if they can determine that it does nothing important; for example, if your class extends Object and overrides finalize to do simply
super.finalize()
.finalize() will be called by a java.lang.Thread that has no locks on any Objects, and may be called concurrently. There are no guarantees on the order in which multiple objects are finalized. This means that finalize() is usually unsuited for performing actions that must be thread-safe, and that your implementation must be use defensive programming if it is to always work.
If an Exception is thrown from finalize() during garbage collection, it will be patently ignored and the Object will still be destroyed.
It is allowed, although not typical, for user code to call finalize() directly. User invocation does not affect whether automatic invocation will occur. It is also permitted, although not recommended, for a finalize() method to "revive" an object by making it reachable from normal code again.
Unlike constructors, finalize() does not get called for an object's superclass unless the implementation specifically calls
super.finalize()
.The default implementation does nothing.
|
|||||||||
Home >> All >> edu >> emory >> mathcs >> util >> classloader >> [ jar overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: ![]() ![]() ![]() |
DETAIL: FIELD | CONSTR | METHOD |