Package org.burningwave.core.classes
Class Classes.Loaders
java.lang.Object
org.burningwave.core.classes.Classes.Loaders
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic interfacestatic class -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Fieldprotected Map<String, MethodHandle> protected Map<ClassLoader, Map<String, ?>> -
Method Summary
Modifier and TypeMethodDescriptionaddClassPath(ClassLoader classLoader, String... classPaths) addClassPath(ClassLoader classLoader, Predicate<String> checkForAddedClasses, String... classPaths) addClassPaths(ClassLoader classLoader, Collection<String>... classPathCollections) addClassPaths(ClassLoader classLoader, Predicate<String> checkForAddedClasses, Collection<String>... classPathCollections) voidclose()convertToBuiltinClassLoader(ClassLoader classLoader) static Classes.Loaderscreate()<T> Class<T> defineOrLoad(ClassLoader classLoader, JavaClass javaClass) getAllLoadedPaths(ClassLoader classLoader) getAllParents(ClassLoader classLoader) getClassLoaderOfPath(ClassLoader classLoader, String path) getDefineClassMethod(ClassLoader classLoader) getDefinePackageMethod(ClassLoader classLoader) getGetClassLoadingLockMethod(ClassLoader classLoader) getHierarchy(ClassLoader classLoader) getLoadedPaths(ClassLoader classLoader) getMaster(ClassLoader classLoader) getParent(ClassLoader classLoader) URL[]getURLs(ClassLoader classLoader) booleanisItPossibleToAddClassPaths(ClassLoader classLoader) <T> Class<T> loadOrDefine(Class<T> toLoad, ClassLoader classLoader) <T> Class<T> loadOrDefineByByteCode(String className, Map<String, ByteBuffer> repository, ClassLoader classLoader) Class<?> loadOrDefineByByteCode(ByteBuffer byteCode, ClassLoader classLoader) <T> Class<T> loadOrDefineByJavaClass(String className, Map<String, JavaClass> byteCodes, ClassLoader classLoader) <T> Class<T> loadOrDefineByJavaClass(JavaClass javaClass, ClassLoader classLoader) voidregisterNotificationListenerOfParentsChange(Classes.Loaders.NotificationListenerOfParentsChange listener) retrieveLoadedPackage(ClassLoader classLoader, String packageName) retrieveLoadedPackages(ClassLoader classLoader) setAsMaster(ClassLoader classLoader, ClassLoader futureParent) setAsParent(ClassLoader target, ClassLoader originalFutureParent) setAsParent(ClassLoader target, ClassLoader newParent, boolean mantainHierarchy) voidunregister(ClassLoader classLoader) voidunregisterNotificationListenerOfParentsChange(Classes.Loaders.NotificationListenerOfParentsChange listener) Methods 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, getOperationId
-
Field Details
-
classLoadersPackages
-
classLoadersMethods
-
builtinClassLoaderClassParentField
-
registeredNotificationListenerOfParentsChange
protected Collection<Classes.Loaders.NotificationListenerOfParentsChange> registeredNotificationListenerOfParentsChange
-
-
Method Details
-
create
-
registerNotificationListenerOfParentsChange
public void registerNotificationListenerOfParentsChange(Classes.Loaders.NotificationListenerOfParentsChange listener) -
unregisterNotificationListenerOfParentsChange
public void unregisterNotificationListenerOfParentsChange(Classes.Loaders.NotificationListenerOfParentsChange listener) -
getAllParents
-
getHierarchy
-
setAsMaster
-
setAsParent
public Function<Boolean,ClassLoader> setAsParent(ClassLoader target, ClassLoader originalFutureParent) -
setAsParent
public Function<Boolean,ClassLoader> setAsParent(ClassLoader target, ClassLoader newParent, boolean mantainHierarchy) -
convertToBuiltinClassLoader
-
getParent
-
getMaster
-
getDefinePackageMethod
-
getDefineClassMethod
-
getGetClassLoadingLockMethod
-
retrieveLoadedPackages
-
loadOrDefineByJavaClass
public <T> Class<T> loadOrDefineByJavaClass(JavaClass javaClass, ClassLoader classLoader) throws ClassNotFoundException - Throws:
ClassNotFoundException
-
loadOrDefineByJavaClass
public <T> Class<T> loadOrDefineByJavaClass(String className, Map<String, JavaClass> byteCodes, ClassLoader classLoader) throws ClassNotFoundException- Throws:
ClassNotFoundException
-
loadOrDefineByByteCode
public Class<?> loadOrDefineByByteCode(ByteBuffer byteCode, ClassLoader classLoader) throws ClassNotFoundException - Throws:
ClassNotFoundException
-
loadOrDefineByByteCode
public <T> Class<T> loadOrDefineByByteCode(String className, Map<String, ByteBuffer> repository, ClassLoader classLoader) throws ClassNotFoundException- Throws:
ClassNotFoundException
-
loadOrDefine
public <T> Class<T> loadOrDefine(Class<T> toLoad, ClassLoader classLoader) throws ClassNotFoundException - Throws:
ClassNotFoundException
-
defineOrLoad
public <T> Class<T> defineOrLoad(ClassLoader classLoader, JavaClass javaClass) throws ReflectiveOperationException - Throws:
ReflectiveOperationException
-
retrieveLoadedPackage
-
getClassLoaderOfPath
-
isItPossibleToAddClassPaths
-
addClassPath
-
addClassPath
public Collection<String> addClassPath(ClassLoader classLoader, Predicate<String> checkForAddedClasses, String... classPaths) -
addClassPaths
public Collection<String> addClassPaths(ClassLoader classLoader, Predicate<String> checkForAddedClasses, Collection<String>... classPathCollections) -
addClassPaths
public Collection<String> addClassPaths(ClassLoader classLoader, Collection<String>... classPathCollections) -
getLoadedPaths
-
getAllLoadedPaths
-
getURLs
-
unregister
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-