class ActivelyClosingClassLoader
extends java.net.URLClassLoader
implements java.io.Closeable
| Modifier and Type | Class and Description |
|---|---|
(package private) class |
ActivelyClosingClassLoader.Wrapper |
| Modifier and Type | Field and Description |
|---|---|
(package private) java.util.concurrent.atomic.AtomicBoolean |
open |
(package private) Processor |
processor |
(package private) java.util.concurrent.ScheduledFuture<?> |
schedule |
(package private) java.util.concurrent.atomic.AtomicReference<java.util.Map<java.io.File,ActivelyClosingClassLoader.Wrapper>> |
wrappers |
| Constructor and Description |
|---|
ActivelyClosingClassLoader(Processor processor,
java.lang.ClassLoader parent) |
| Modifier and Type | Method and Description |
|---|---|
(package private) void |
add(java.io.File file) |
(package private) void |
autopurge(long freshPeriod) |
void |
close() |
private java.net.URL |
createURL(java.lang.String name,
byte[] data) |
private java.util.stream.Stream<byte[]> |
dataStream(java.lang.String name) |
protected java.lang.Class<?> |
findClass(java.lang.String name) |
java.net.URL |
findResource(java.lang.String name) |
java.util.Enumeration<java.net.URL> |
findResources(java.lang.String name) |
(package private) java.util.List<java.io.File> |
getFiles() |
java.lang.Class<?> |
loadClass(java.lang.String name) |
(package private) void |
purge(long purgeTime)
This method will close any open files that have not been accessed since
purgeTime
|
addURL, definePackage, getPermissions, getResourceAsStream, getURLs, newInstance, newInstanceclearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getClassLoadingLock, getPackage, getPackages, getParent, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, registerAsParallelCapable, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSignersfinal java.util.concurrent.atomic.AtomicReference<java.util.Map<java.io.File,ActivelyClosingClassLoader.Wrapper>> wrappers
final java.util.concurrent.atomic.AtomicBoolean open
final Processor processor
java.util.concurrent.ScheduledFuture<?> schedule
ActivelyClosingClassLoader(Processor processor, java.lang.ClassLoader parent)
void add(java.io.File file)
protected java.lang.Class<?> findClass(java.lang.String name)
throws java.lang.ClassNotFoundException
findClass in class java.net.URLClassLoaderjava.lang.ClassNotFoundExceptionpublic java.net.URL findResource(java.lang.String name)
findResource in class java.net.URLClassLoaderprivate java.util.stream.Stream<byte[]> dataStream(java.lang.String name)
private java.net.URL createURL(java.lang.String name,
byte[] data)
public java.util.Enumeration<java.net.URL> findResources(java.lang.String name)
findResources in class java.net.URLClassLoadervoid purge(long purgeTime)
purgeTime - the absolute cutoff timepublic void close()
close in interface java.io.Closeableclose in interface java.lang.AutoCloseableclose in class java.net.URLClassLoaderjava.util.List<java.io.File> getFiles()
public java.lang.Class<?> loadClass(java.lang.String name)
throws java.lang.ClassNotFoundException
loadClass in class java.lang.ClassLoaderjava.lang.ClassNotFoundExceptionvoid autopurge(long freshPeriod)