Package com.esotericsoftware.reflectasm
Class AccessClassLoader
- java.lang.Object
-
- java.lang.ClassLoader
-
- com.esotericsoftware.reflectasm.AccessClassLoader
-
class AccessClassLoader extends java.lang.ClassLoader
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.WeakHashMap<java.lang.ClassLoader,java.lang.ref.WeakReference<AccessClassLoader>>
accessClassLoaders
private static java.lang.reflect.Method
defineClassMethod
private static AccessClassLoader
selfContextAccessClassLoader
private static java.lang.ClassLoader
selfContextParentClassLoader
-
Constructor Summary
Constructors Modifier Constructor Description private
AccessClassLoader(java.lang.ClassLoader parent)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static int
activeAccessClassLoaders()
(package private) static boolean
areInSameRuntimeClassLoader(java.lang.Class type1, java.lang.Class type2)
(package private) java.lang.Class<?>
defineClass(java.lang.String name, byte[] bytes)
(package private) static AccessClassLoader
get(java.lang.Class type)
private static java.lang.reflect.Method
getDefineClassMethod()
private static java.lang.ClassLoader
getParentClassLoader(java.lang.Class type)
protected java.lang.Class<?>
loadClass(java.lang.String name, boolean resolve)
static void
remove(java.lang.ClassLoader parent)
-
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findResources, findSystemClass, getClassLoadingLock, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, registerAsParallelCapable, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
-
-
-
Field Detail
-
accessClassLoaders
private static final java.util.WeakHashMap<java.lang.ClassLoader,java.lang.ref.WeakReference<AccessClassLoader>> accessClassLoaders
-
selfContextParentClassLoader
private static final java.lang.ClassLoader selfContextParentClassLoader
-
selfContextAccessClassLoader
private static volatile AccessClassLoader selfContextAccessClassLoader
-
defineClassMethod
private static volatile java.lang.reflect.Method defineClassMethod
-
-
Method Detail
-
get
static AccessClassLoader get(java.lang.Class type)
-
remove
public static void remove(java.lang.ClassLoader parent)
-
activeAccessClassLoaders
public static int activeAccessClassLoaders()
-
loadClass
protected java.lang.Class<?> loadClass(java.lang.String name, boolean resolve) throws java.lang.ClassNotFoundException
- Overrides:
loadClass
in classjava.lang.ClassLoader
- Throws:
java.lang.ClassNotFoundException
-
defineClass
java.lang.Class<?> defineClass(java.lang.String name, byte[] bytes) throws java.lang.ClassFormatError
- Throws:
java.lang.ClassFormatError
-
areInSameRuntimeClassLoader
static boolean areInSameRuntimeClassLoader(java.lang.Class type1, java.lang.Class type2)
-
getParentClassLoader
private static java.lang.ClassLoader getParentClassLoader(java.lang.Class type)
-
getDefineClassMethod
private static java.lang.reflect.Method getDefineClassMethod() throws java.lang.Exception
- Throws:
java.lang.Exception
-
-