Package org.burningwave.core.classes
Class MemoryClassLoader
java.lang.Object
java.lang.ClassLoader
org.burningwave.core.classes.MemoryClassLoader
- All Implemented Interfaces:
AutoCloseable,Classes.Loaders.NotificationListenerOfParentsChange,Cleanable,Closeable,Component,Identifiable,Properties.Listener,Memorizer
- Direct Known Subclasses:
PathScannerClassLoader
public class MemoryClassLoader
extends ClassLoader
implements Component, Classes.Loaders.NotificationListenerOfParentsChange
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddByteCode(String className, ByteBuffer byteCode) voidaddByteCodes(Collection<Map.Entry<String, ByteBuffer>> classes) voidaddByteCodes(Map.Entry<String, ByteBuffer>... classes) protected voidaddLoadedByteCode(String className, ByteBuffer byteCode) voidclose()protected QueuedTaskExecutor.Taskstatic MemoryClassLoadercreate(ClassLoader parentClassLoader) protected PackagedefinePackage(String packageName, String specTitle, String specVersion, String specVendor, String implTitle, String implVersion, String implVendor, URL sealBase) protected Class<?> Collection<Class<?>> protected InputStreamgetByteCodeAsInputStream(String classRelativePath) getByteCodeOf(String className) getNotLoadedByteCode(String className) getResourceAsStream(String name) booleanhasPackageBeenDefined(String packageName) protected Class<?> Class<?> loadOrDefineClass(Class<?> toLoad) Class<?> loadOrDefineClass(ByteBuffer byteCode) Class<?> loadOrDefineClass(JavaClass toLoad) protected voidvoidvoidvoidremoveNotLoadedBytecode(String className) protected voidbooleanunregister(Object client) booleanunregister(Object client, boolean close) booleanunregister(Object client, boolean close, boolean markAsCloseable) Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, findClass, findLibrary, findLoadedClass, findResource, findResource, findResources, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSignersMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.burningwave.core.Closeable
closeResources, closeResources, createCloseResoucesTask, createCloseResoucesTaskMethods inherited from interface org.burningwave.core.Identifiable
getId, getOperationIdMethods inherited from interface org.burningwave.core.Memorizer
getOrCreateTemporaryFolder, getOrCreateTemporaryFolder, getTemporaryFolderPrefixMethods inherited from interface org.burningwave.core.iterable.Properties.Listener
checkAndListenTo, checkAndUnregister, listenTo, processChangeNotification, unregister
-
Field Details
-
isClosed
protected boolean isClosed
-
-
Constructor Details
-
MemoryClassLoader
-
-
Method Details
-
receive
- Specified by:
receivein interfaceClasses.Loaders.NotificationListenerOfParentsChange
-
create
-
addByteCode
-
getNotLoadedByteCode
-
getByteCodeOf
-
addByteCodes
-
addByteCodes
-
hasPackageBeenDefined
-
definePackage
protected Package definePackage(String packageName, String specTitle, String specVersion, String specVendor, String implTitle, String implVersion, String implVendor, URL sealBase) throws IllegalArgumentException - Overrides:
definePackagein classClassLoader- Throws:
IllegalArgumentException
-
loadClass
- Overrides:
loadClassin classClassLoader- Throws:
ClassNotFoundException
-
loadOrDefineClass
- Throws:
ClassNotFoundException
-
loadOrDefineClass
- Throws:
ClassNotFoundException
-
loadOrDefineClass
- Throws:
ClassNotFoundException
-
getResourceAsStream
- Overrides:
getResourceAsStreamin classClassLoader
-
getByteCodeAsInputStream
-
addLoadedByteCode
-
findClass
- Overrides:
findClassin classClassLoader- Throws:
ClassNotFoundException
-
logWarn
-
removeNotLoadedBytecode
-
forceBytecodesLoading
-
clearInBackground
- Specified by:
clearInBackgroundin interfaceCleanable
-
unregister
protected void unregister() -
register
-
unregister
-
unregister
-
unregister
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
closeResources
-