Class ShrinkWrapClassLoader
- java.lang.Object
-
- java.lang.ClassLoader
-
- java.security.SecureClassLoader
-
- java.net.URLClassLoader
-
- org.jboss.shrinkwrap.api.classloader.ShrinkWrapClassLoader
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
public class ShrinkWrapClassLoader extends java.net.URLClassLoader implements java.io.Closeable
Extension that will create a ClassLoader based on a Array of Archives. When done, callclose()
to free resources.
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
EMPTY
Empty Stringprivate static java.util.logging.Logger
log
Loggerprivate java.util.List<java.io.InputStream>
openedStreams
List of all streams opened, such that they may be closed inclose()
.
-
Constructor Summary
Constructors Constructor Description ShrinkWrapClassLoader(java.lang.ClassLoader parent, Archive<?>... archives)
Constructs a new ShrinkWrapClassLoader for the givenArchive
s.ShrinkWrapClassLoader(Archive<?>... archives)
Constructs a new ShrinkWrapClassLoader for the specifiedArchive
s using the default delegation parentClassLoader
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
addArchive(Archive<?> archive)
private void
addArchives(Archive<?>[] archives)
void
close()
-
Methods inherited from class java.net.URLClassLoader
addURL, definePackage, findClass, findResource, findResources, getPermissions, getResourceAsStream, getURLs, newInstance, newInstance
-
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
-
-
-
Field Detail
-
log
private static final java.util.logging.Logger log
Logger
-
EMPTY
private static final java.lang.String EMPTY
Empty String- See Also:
- Constant Field Values
-
openedStreams
private final java.util.List<java.io.InputStream> openedStreams
List of all streams opened, such that they may be closed inclose()
. Guarded by "this".
-
-
Constructor Detail
-
ShrinkWrapClassLoader
public ShrinkWrapClassLoader(Archive<?>... archives)
Constructs a new ShrinkWrapClassLoader for the specifiedArchive
s using the default delegation parentClassLoader
. TheArchive
s will be searched in the order specified for classes and resources after first searching in the parent class loader.- Parameters:
archives
- theArchive
s from which to load classes and resources
-
ShrinkWrapClassLoader
public ShrinkWrapClassLoader(java.lang.ClassLoader parent, Archive<?>... archives)
Constructs a new ShrinkWrapClassLoader for the givenArchive
s. TheArchive
s will be searched in the order specified for classes and resources after first searching in the specified parent class loader.- Parameters:
parent
- the parent class loader for delegationarchives
- theArchive
s from which to load classes and resources
-
-
Method Detail
-
addArchives
private void addArchives(Archive<?>[] archives)
-
addArchive
private void addArchive(Archive<?> archive)
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.net.URLClassLoader
- Throws:
java.io.IOException
-
-