public abstract class AbstractClassLoader extends ClassLoader implements ApplicationClassLoader, IOProviderFrom.Readable<String>
IOProviderFrom.Readable.KnownSize<T>, IOProviderFrom.Readable.Seekable<T>IOProviderFrom.Readable<T>, IOProviderFrom.ReadWrite<T>, IOProviderFrom.Writable<T>| Modifier and Type | Field and Description |
|---|---|
protected AppClassLoader |
appClassLoader |
| Constructor and Description |
|---|
AbstractClassLoader(AppClassLoader appClassLoader)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addSubLoader(AbstractClassLoader loader)
Add a class loader from a resource contained by this class loader, for example an inner jar file.
|
IOProvider.Readable |
get(String path)
Get a IOProvider.
|
Application |
getApplication()
Return the application.
|
static IAsync<NoException> |
getClassLoadingSP(String name)
Get the synchronized object for loading the given class.
|
abstract String |
getDescription()
Return a description of this class loader.
|
IOProvider.Readable |
getIOProvider(String filename)
Return an IOProvider for the given application's resource.
|
URL |
getResource(String name)
Search a resource.
|
InputStream |
getResourceAsStream(String name) |
protected abstract Object |
getResourcePointer(String path) |
Enumeration<URL> |
getResources(String name) |
Iterable<URL> |
getResourcesURL(String name)
Search for all resources with the same path.
|
URL |
getResourceURL(String name)
Search for a resource.
|
protected Class<?> |
loadClass(String name,
boolean resolve) |
protected abstract byte[] |
loadFile(String name)
Load the content of a file.
|
protected abstract IO.Readable |
loadResourceAsIO(String name,
byte priority)
Load a resource as IO.Readable.
|
protected abstract URL |
loadResourceURL(String name)
Search a resource.
|
IO.Readable |
open(String path,
byte priority)
Open a resource.
|
protected abstract IO.Readable |
openResourcePointer(Object pointer,
byte priority) |
static void |
releaseClassLoadingSP(String name)
Release the synchronized object for loading the given class.
|
protected abstract void |
scan(String rootPackage,
boolean includeSubPackages,
Predicate<String> packageFilter,
Predicate<String> classFilter,
Consumer<Class<?>> classScanner) |
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findResources, findSystemClass, getClassLoadingLock, getPackage, getPackages, getParent, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, registerAsParallelCapable, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSignersclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitloadClassprotected AppClassLoader appClassLoader
public AbstractClassLoader(AppClassLoader appClassLoader)
public Application getApplication()
ApplicationClassLoadergetApplication in interface ApplicationClassLoaderpublic abstract String getDescription()
protected abstract byte[] loadFile(String name) throws IOException
IOExceptionprotected abstract IO.Readable loadResourceAsIO(String name, byte priority) throws IOException
IOExceptionprotected abstract IO.Readable openResourcePointer(Object pointer, byte priority) throws IOException
IOExceptionprotected abstract void scan(String rootPackage, boolean includeSubPackages, Predicate<String> packageFilter, Predicate<String> classFilter, Consumer<Class<?>> classScanner)
public final void addSubLoader(AbstractClassLoader loader)
public static IAsync<NoException> getClassLoadingSP(String name)
public static void releaseClassLoadingSP(String name)
protected final Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException
loadClass in class ClassLoaderClassNotFoundExceptionpublic final IOProvider.Readable get(String path)
IOProviderFromget in interface IOProviderFrom<String>get in interface IOProviderFrom.Readable<String>public final IO.Readable open(String path, byte priority) throws IOException
IOExceptionpublic final Iterable<URL> getResourcesURL(String name)
public URL getResource(String name)
ApplicationClassLoadergetResource in interface ApplicationClassLoadergetResource in class ClassLoaderpublic Enumeration<URL> getResources(String name) throws IOException
getResources in class ClassLoaderIOExceptionpublic InputStream getResourceAsStream(String name)
getResourceAsStream in class ClassLoaderpublic IOProvider.Readable getIOProvider(String filename)
ApplicationClassLoadergetIOProvider in interface ApplicationClassLoaderCopyright © 2019. All rights reserved.