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 classDriver.Factorystatic classDriver.InitializeExceptionstatic classDriver.InstantiateException -
Method Summary
Modifier and Type Method Description <T> TallocateInstance(java.lang.Class<?> cls)voidclose()java.lang.ClassLoaderconvertToBuiltinClassLoader(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.LookupgetConsulter(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> TgetFieldValue(java.lang.Object target, java.lang.reflect.Field field)CleanableSupplier<java.util.Collection<java.lang.Class<?>>>getLoadedClassesRetriever(java.lang.ClassLoader classLoader)java.lang.PackagegetPackage(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> Tinvoke(java.lang.Object target, java.lang.reflect.Method method, java.lang.Object[] params)booleanisBuiltinClassLoader(java.lang.ClassLoader classLoader)booleanisClassLoaderDelegate(java.lang.ClassLoader classLoader)<T> TnewInstance(java.lang.reflect.Constructor<T> ctor, java.lang.Object[] params)java.util.Map<java.lang.String,?>retrieveLoadedPackages(java.lang.ClassLoader classLoader)voidsetAccessible(java.lang.reflect.AccessibleObject object, boolean flag)voidsetFieldValue(java.lang.Object target, java.lang.reflect.Field field, java.lang.Object value)<T> TthrowException(java.lang.String message, java.lang.Object... placeHolderReplacements)<T> TthrowException(java.lang.Throwable exception)
-
Method Details
-
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) -
close
void close()- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable
-