Package io.github.toolfactory.jvm
Interface Driver
-
- All Superinterfaces:
java.lang.AutoCloseable
,java.io.Closeable
- All Known Implementing Classes:
DefaultDriver
,DriverAbst
,DynamicDriver
,HybridDriver
,NativeDriver
public interface Driver extends java.io.Closeable
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
Driver.Factory
static class
Driver.InitializeException
static class
Driver.InstantiateException
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description <T> T
allocateInstance(java.lang.Class<?> cls)
void
close()
java.lang.ClassLoader
convertToBuiltinClassLoader(java.lang.ClassLoader classLoader)
java.lang.Class<?>
defineHookClass(java.lang.Class<?> clientClass, byte[] byteCode)
java.lang.Class<?>
getBuiltinClassLoaderClass()
java.lang.Class<?>
getClassByName(java.lang.String className, java.lang.Boolean initialize, java.lang.ClassLoader classLoader, java.lang.Class<?> caller)
java.lang.Class<?>
getClassLoaderDelegateClass()
java.lang.invoke.MethodHandles.Lookup
getConsulter(java.lang.Class<?> cls)
<T> java.lang.reflect.Constructor<T>[]
getDeclaredConstructors(java.lang.Class<T> cls)
java.lang.reflect.Field[]
getDeclaredFields(java.lang.Class<?> cls)
java.lang.reflect.Method[]
getDeclaredMethods(java.lang.Class<?> cls)
<T> T
getFieldValue(java.lang.Object target, java.lang.reflect.Field field)
CleanableSupplier<java.util.Collection<java.lang.Class<?>>>
getLoadedClassesRetriever(java.lang.ClassLoader classLoader)
java.lang.Package
getPackage(java.lang.ClassLoader classLoader, java.lang.String packageName)
java.util.Collection<java.net.URL>
getResources(java.lang.String resourceRelativePath, boolean findFirst, java.lang.ClassLoader... classLoaders)
java.util.Collection<java.net.URL>
getResources(java.lang.String resourceRelativePath, boolean findFirst, java.util.Collection<java.lang.ClassLoader> classLoaders)
<D extends Driver>
Dinit()
<T> T
invoke(java.lang.Object target, java.lang.reflect.Method method, java.lang.Object[] params)
boolean
isBuiltinClassLoader(java.lang.ClassLoader classLoader)
boolean
isClassLoaderDelegate(java.lang.ClassLoader classLoader)
<T> T
newInstance(java.lang.reflect.Constructor<T> ctor, java.lang.Object[] params)
java.util.Map<java.lang.String,?>
retrieveLoadedPackages(java.lang.ClassLoader classLoader)
void
setAccessible(java.lang.reflect.AccessibleObject object, boolean flag)
void
setFieldValue(java.lang.Object target, java.lang.reflect.Field field, java.lang.Object value)
void
stop(java.lang.Thread thread)
Deprecated.<T> T
throwException(java.lang.String message, java.lang.Object... placeHolderReplacements)
<T> T
throwException(java.lang.Throwable exception)
-
-
-
Method Detail
-
init
<D extends Driver> D init()
-
allocateInstance
<T> T allocateInstance(java.lang.Class<?> cls)
-
convertToBuiltinClassLoader
java.lang.ClassLoader convertToBuiltinClassLoader(java.lang.ClassLoader classLoader)
-
defineHookClass
java.lang.Class<?> defineHookClass(java.lang.Class<?> clientClass, byte[] byteCode)
-
getBuiltinClassLoaderClass
java.lang.Class<?> getBuiltinClassLoaderClass()
-
getClassLoaderDelegateClass
java.lang.Class<?> getClassLoaderDelegateClass()
-
getClassByName
java.lang.Class<?> getClassByName(java.lang.String className, java.lang.Boolean initialize, java.lang.ClassLoader classLoader, java.lang.Class<?> caller)
-
getConsulter
java.lang.invoke.MethodHandles.Lookup getConsulter(java.lang.Class<?> cls)
-
getDeclaredConstructors
<T> java.lang.reflect.Constructor<T>[] getDeclaredConstructors(java.lang.Class<T> cls)
-
getDeclaredFields
java.lang.reflect.Field[] getDeclaredFields(java.lang.Class<?> cls)
-
getDeclaredMethods
java.lang.reflect.Method[] getDeclaredMethods(java.lang.Class<?> cls)
-
getFieldValue
<T> T getFieldValue(java.lang.Object target, java.lang.reflect.Field field)
-
getPackage
java.lang.Package getPackage(java.lang.ClassLoader classLoader, java.lang.String packageName)
-
getResources
java.util.Collection<java.net.URL> getResources(java.lang.String resourceRelativePath, boolean findFirst, java.lang.ClassLoader... classLoaders)
-
getResources
java.util.Collection<java.net.URL> getResources(java.lang.String resourceRelativePath, boolean findFirst, java.util.Collection<java.lang.ClassLoader> classLoaders)
-
invoke
<T> T invoke(java.lang.Object target, java.lang.reflect.Method method, java.lang.Object[] params)
-
isBuiltinClassLoader
boolean isBuiltinClassLoader(java.lang.ClassLoader classLoader)
-
isClassLoaderDelegate
boolean isClassLoaderDelegate(java.lang.ClassLoader classLoader)
-
newInstance
<T> T newInstance(java.lang.reflect.Constructor<T> ctor, java.lang.Object[] params)
-
getLoadedClassesRetriever
CleanableSupplier<java.util.Collection<java.lang.Class<?>>> getLoadedClassesRetriever(java.lang.ClassLoader classLoader)
-
retrieveLoadedPackages
java.util.Map<java.lang.String,?> retrieveLoadedPackages(java.lang.ClassLoader classLoader)
-
setAccessible
void setAccessible(java.lang.reflect.AccessibleObject object, boolean flag)
-
setFieldValue
void setFieldValue(java.lang.Object target, java.lang.reflect.Field field, java.lang.Object value)
-
throwException
<T> T throwException(java.lang.String message, java.lang.Object... placeHolderReplacements)
-
throwException
<T> T throwException(java.lang.Throwable exception)
-
stop
@Deprecated(since="9.4.0") void stop(java.lang.Thread thread)
Deprecated.
-
close
void close()
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
-
-