Package io.github.toolfactory.jvm
Class DriverAbst
java.lang.Object
io.github.toolfactory.jvm.DriverAbst
- All Implemented Interfaces:
Driver,java.io.Closeable,java.lang.AutoCloseable
- Direct Known Subclasses:
DefaultDriver
public abstract class DriverAbst extends java.lang.Object implements Driver
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.github.toolfactory.jvm.Driver
Driver.Factory, Driver.InitializeException, Driver.InstantiateException -
Field Summary
Fields Modifier and Type Field Description protected ThrowingBiConsumer<java.lang.reflect.AccessibleObject,java.lang.Boolean,java.lang.Throwable>accessibleSetterprotected ThrowingFunction<java.lang.Class<?>,java.lang.Object,java.lang.Throwable>allocateInstanceInvokerprotected Supplier<java.lang.Class<?>>builtinClassLoaderClassSupplierprotected ThrowingQuadFunction<java.lang.String,java.lang.Boolean,java.lang.ClassLoader,java.lang.Class<?>,java.lang.Class<?>,java.lang.Throwable>classByNameRetrieverprotected Supplier<java.lang.Class<?>>classLoaderDelegateClassSupplierprotected ThrowingFunction<java.lang.ClassLoader,java.lang.ClassLoader,java.lang.Throwable>classLoaderToBuiltinClassLoaderConverterprotected ThrowingBiFunction<java.lang.reflect.Constructor<?>,java.lang.Object[],java.lang.Object,java.lang.Throwable>constructorInvokerprotected ThrowingFunction<java.lang.Class<?>,java.lang.invoke.MethodHandles.Lookup,java.lang.Throwable>consulterRetrieverprotected ThrowingFunction<java.lang.Class<?>,java.lang.reflect.Constructor<?>[],java.lang.Throwable>declaredConstructorsRetrieverprotected ThrowingFunction<java.lang.Class<?>,java.lang.reflect.Field[],java.lang.Throwable>declaredFieldsRetrieverprotected ThrowingFunction<java.lang.Class<?>,java.lang.reflect.Method[],java.lang.Throwable>declaredMethodsRetrieverprotected ThrowExceptionFunctionexceptionThrowerprotected BiFunction<java.lang.Object,java.lang.reflect.Field,java.lang.Object>fieldValueRetrieverprotected TriConsumer<java.lang.Object,java.lang.reflect.Field,java.lang.Object>fieldValueSetterprotected ThrowingBiFunction<java.lang.Class<?>,byte[],java.lang.Class<?>,java.lang.Throwable>hookClassDefinerprotected Function<java.lang.ClassLoader,CleanableSupplier<java.util.Collection<java.lang.Class<?>>>>loadedClassesRetrieverSupplierprotected Function<java.lang.ClassLoader,java.util.Map<java.lang.String,?>>loadedPackagesRetrieverprotected ThrowingTriFunction<java.lang.reflect.Method,java.lang.Object,java.lang.Object[],java.lang.Object,java.lang.Throwable>methodInvokerprotected ThrowingBiFunction<java.lang.ClassLoader,java.lang.String,java.lang.Package,java.lang.Throwable>packageRetrieverprotected GetResourcesFunctionresourcesRetriver -
Constructor Summary
Constructors Constructor Description DriverAbst() -
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)protected java.util.Map<java.lang.Object,java.lang.Object>functionsToMap()protected SetAccessibleFunctiongetAccessibleSetter(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected abstract java.lang.Class<? extends AllocateInstanceFunction>getAllocateInstanceFunctionClass()protected AllocateInstanceFunctiongetAllocateInstanceInvoker(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)java.lang.Class<?>getBuiltinClassLoaderClass()protected BuiltinClassLoaderClassSuppliergetBuiltinClassLoaderClassSupplier(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected abstract java.lang.Class<? extends BuiltinClassLoaderClassSupplier>getBuiltinClassLoaderClassSupplierClass()java.lang.Class<?>getClassByName(java.lang.String className, java.lang.Boolean initialize, java.lang.ClassLoader classLoader, java.lang.Class<?> caller)protected GetClassByNameFunctiongetClassByNameRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)java.lang.Class<?>getClassLoaderDelegateClass()protected ClassLoaderDelegateClassSuppliergetClassLoaderDelegateClassSupplier(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected abstract java.lang.Class<? extends ClassLoaderDelegateClassSupplier>getClassLoaderDelegateClassSupplierClass()protected ConvertToBuiltinClassLoaderFunctiongetClassLoaderToBuiltinClassLoaderConverter(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected abstract java.lang.Class<? extends ConstructorInvokeFunction>getConstructorInvokeFunctionClass()protected ConstructorInvokeFunctiongetConstructorInvoker(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)java.lang.invoke.MethodHandles.LookupgetConsulter(java.lang.Class<?> cls)protected ConsulterSupplyFunctiongetConsulterRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected abstract java.lang.Class<? extends ConsulterSupplyFunction>getConsulterSupplyFunctionClass()protected abstract java.lang.Class<? extends ConvertToBuiltinClassLoaderFunction>getConvertToBuiltinClassLoaderFunctionClass()<T> java.lang.reflect.Constructor<T>[]getDeclaredConstructors(java.lang.Class<T> cls)protected GetDeclaredConstructorsFunctiongetDeclaredConstructorsRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)java.lang.reflect.Field[]getDeclaredFields(java.lang.Class<?> cls)protected GetDeclaredFieldsFunctiongetDeclaredFieldsRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)java.lang.reflect.Method[]getDeclaredMethods(java.lang.Class<?> cls)protected GetDeclaredMethodsFunctiongetDeclaredMethodsRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected DeepConsulterSupplyFunctiongetDeepConsulterRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected abstract java.lang.Class<? extends DeepConsulterSupplyFunction>getDeepConsulterSupplyFunctionClass()protected abstract java.lang.Class<? extends DefineHookClassFunction>getDefineHookClassFunctionClass()protected ThrowExceptionFunctiongetExceptionThrower(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)<T> TgetFieldValue(java.lang.Object target, java.lang.reflect.Field field)protected GetFieldValueFunctiongetFieldValueRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected SetFieldValueFunctiongetFieldValueSetter(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected abstract java.lang.Class<? extends GetClassByNameFunction>getGetClassByNameFunctionClass()protected abstract java.lang.Class<? extends GetDeclaredConstructorsFunction>getGetDeclaredConstructorsFunctionClass()protected abstract java.lang.Class<? extends GetDeclaredFieldsFunction>getGetDeclaredFieldsFunctionClass()protected abstract java.lang.Class<? extends GetDeclaredMethodsFunction>getGetDeclaredMethodsFunctionClass()protected abstract java.lang.Class<? extends GetFieldValueFunction>getGetFieldValueFunctionClass()protected abstract java.lang.Class<? extends GetLoadedClassesRetrieverFunction>getGetLoadedClassesRetrieverFunctionClass()protected abstract java.lang.Class<? extends GetLoadedPackagesFunction>getGetLoadedPackagesFunctionClass()protected abstract java.lang.Class<? extends GetPackageFunction>getGetPackageFunctionClass()protected abstract java.lang.Class<? extends GetResourcesFunction>getGetResourcesFunctionClass()protected DefineHookClassFunctiongetHookClassDefiner(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)CleanableSupplier<java.util.Collection<java.lang.Class<?>>>getLoadedClassesRetriever(java.lang.ClassLoader classLoader)protected GetLoadedClassesRetrieverFunctiongetLoadedClassesRetrieverFunction(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected GetLoadedPackagesFunctiongetLoadedPackagesRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected abstract java.lang.Class<? extends MethodInvokeFunction>getMethodInvokeFunctionClass()protected MethodInvokeFunctiongetMethodInvoker(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected SetAccessibleFunctiongetOrBuildAccessibleSetter(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected AllocateInstanceFunctiongetOrBuildAllocateInstanceInvoker(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected BuiltinClassLoaderClassSuppliergetOrBuildBuiltinClassLoaderClassSupplier(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected GetClassByNameFunctiongetOrBuildClassByNameRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected ClassLoaderDelegateClassSuppliergetOrBuildClassLoaderDelegateClassSupplier(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected ConvertToBuiltinClassLoaderFunctiongetOrBuildClassLoaderToBuiltinClassLoaderConverter(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected ConstructorInvokeFunctiongetOrBuildConstructorInvoker(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected ConsulterSupplyFunctiongetOrBuildConsulterRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected GetDeclaredConstructorsFunctiongetOrBuildDeclaredConstructorsRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected GetDeclaredFieldsFunctiongetOrBuildDeclaredFieldsRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected GetDeclaredMethodsFunctiongetOrBuildDeclaredMethodsRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected DeepConsulterSupplyFunctiongetOrBuildDeepConsulterRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected ThrowExceptionFunctiongetOrBuildExceptionThrower(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected GetFieldValueFunctiongetOrBuildFieldValueRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected SetFieldValueFunctiongetOrBuildFieldValueSetter(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected DefineHookClassFunctiongetOrBuildHookClassDefiner(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected GetLoadedClassesRetrieverFunctiongetOrBuildLoadedClassesRetrieverFunction(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected GetLoadedPackagesFunctiongetOrBuildLoadedPackagesRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected MethodInvokeFunctiongetOrBuildMethodInvoker(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected GetPackageFunctiongetOrBuildPackageRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected GetResourcesFunctiongetOrBuildResourcesRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)java.lang.PackagegetPackage(java.lang.ClassLoader classLoader, java.lang.String packageName)protected GetPackageFunctiongetPackageRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)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)protected GetResourcesFunctiongetResourcesRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)protected abstract java.lang.Class<? extends SetAccessibleFunction>getSetAccessibleFunctionClass()protected abstract java.lang.Class<? extends SetFieldValueFunction>getSetFieldValueFunctionClass()protected abstract java.lang.Class<? extends ThrowExceptionFunction>getThrowExceptionFunctionClass()<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)protected voidputIfNotNull(java.util.Map<java.lang.Object,java.lang.Object> map, java.lang.Class<?> cls, java.lang.Object object)protected ObjectProviderputNewObjectProviderIfAbsent(java.util.Map<java.lang.Object,java.lang.Object> context)protected <D extends Driver>
Drefresh(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)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)Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
exceptionThrower
-
allocateInstanceInvoker
protected ThrowingFunction<java.lang.Class<?>,java.lang.Object,java.lang.Throwable> allocateInstanceInvoker -
fieldValueRetriever
protected BiFunction<java.lang.Object,java.lang.reflect.Field,java.lang.Object> fieldValueRetriever -
fieldValueSetter
-
hookClassDefiner
protected ThrowingBiFunction<java.lang.Class<?>,byte[],java.lang.Class<?>,java.lang.Throwable> hookClassDefiner -
consulterRetriever
protected ThrowingFunction<java.lang.Class<?>,java.lang.invoke.MethodHandles.Lookup,java.lang.Throwable> consulterRetriever -
declaredFieldsRetriever
protected ThrowingFunction<java.lang.Class<?>,java.lang.reflect.Field[],java.lang.Throwable> declaredFieldsRetriever -
declaredMethodsRetriever
protected ThrowingFunction<java.lang.Class<?>,java.lang.reflect.Method[],java.lang.Throwable> declaredMethodsRetriever -
declaredConstructorsRetriever
protected ThrowingFunction<java.lang.Class<?>,java.lang.reflect.Constructor<?>[],java.lang.Throwable> declaredConstructorsRetriever -
accessibleSetter
protected ThrowingBiConsumer<java.lang.reflect.AccessibleObject,java.lang.Boolean,java.lang.Throwable> accessibleSetter -
constructorInvoker
protected ThrowingBiFunction<java.lang.reflect.Constructor<?>,java.lang.Object[],java.lang.Object,java.lang.Throwable> constructorInvoker -
packageRetriever
protected ThrowingBiFunction<java.lang.ClassLoader,java.lang.String,java.lang.Package,java.lang.Throwable> packageRetriever -
methodInvoker
protected ThrowingTriFunction<java.lang.reflect.Method,java.lang.Object,java.lang.Object[],java.lang.Object,java.lang.Throwable> methodInvoker -
classByNameRetriever
protected ThrowingQuadFunction<java.lang.String,java.lang.Boolean,java.lang.ClassLoader,java.lang.Class<?>,java.lang.Class<?>,java.lang.Throwable> classByNameRetriever -
resourcesRetriver
-
builtinClassLoaderClassSupplier
-
classLoaderDelegateClassSupplier
-
loadedClassesRetrieverSupplier
protected Function<java.lang.ClassLoader,CleanableSupplier<java.util.Collection<java.lang.Class<?>>>> loadedClassesRetrieverSupplier -
loadedPackagesRetriever
protected Function<java.lang.ClassLoader,java.util.Map<java.lang.String,?>> loadedPackagesRetriever -
classLoaderToBuiltinClassLoaderConverter
protected ThrowingFunction<java.lang.ClassLoader,java.lang.ClassLoader,java.lang.Throwable> classLoaderToBuiltinClassLoaderConverter
-
-
Constructor Details
-
DriverAbst
public DriverAbst()
-
-
Method Details
-
init
-
refresh
protected <D extends Driver> D refresh(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
functionsToMap
protected java.util.Map<java.lang.Object,java.lang.Object> functionsToMap() -
putNewObjectProviderIfAbsent
protected ObjectProvider putNewObjectProviderIfAbsent(java.util.Map<java.lang.Object,java.lang.Object> context) -
getThrowExceptionFunctionClass
protected abstract java.lang.Class<? extends ThrowExceptionFunction> getThrowExceptionFunctionClass() -
getAllocateInstanceFunctionClass
protected abstract java.lang.Class<? extends AllocateInstanceFunction> getAllocateInstanceFunctionClass() -
getGetFieldValueFunctionClass
-
getSetFieldValueFunctionClass
-
getDefineHookClassFunctionClass
protected abstract java.lang.Class<? extends DefineHookClassFunction> getDefineHookClassFunctionClass() -
getConsulterSupplyFunctionClass
protected abstract java.lang.Class<? extends ConsulterSupplyFunction> getConsulterSupplyFunctionClass() -
getGetDeclaredFieldsFunctionClass
protected abstract java.lang.Class<? extends GetDeclaredFieldsFunction> getGetDeclaredFieldsFunctionClass() -
getGetDeclaredMethodsFunctionClass
protected abstract java.lang.Class<? extends GetDeclaredMethodsFunction> getGetDeclaredMethodsFunctionClass() -
getGetDeclaredConstructorsFunctionClass
protected abstract java.lang.Class<? extends GetDeclaredConstructorsFunction> getGetDeclaredConstructorsFunctionClass() -
getSetAccessibleFunctionClass
-
getConstructorInvokeFunctionClass
protected abstract java.lang.Class<? extends ConstructorInvokeFunction> getConstructorInvokeFunctionClass() -
getMethodInvokeFunctionClass
-
getGetPackageFunctionClass
-
getGetClassByNameFunctionClass
protected abstract java.lang.Class<? extends GetClassByNameFunction> getGetClassByNameFunctionClass() -
getGetResourcesFunctionClass
-
getBuiltinClassLoaderClassSupplierClass
protected abstract java.lang.Class<? extends BuiltinClassLoaderClassSupplier> getBuiltinClassLoaderClassSupplierClass() -
getClassLoaderDelegateClassSupplierClass
protected abstract java.lang.Class<? extends ClassLoaderDelegateClassSupplier> getClassLoaderDelegateClassSupplierClass() -
getDeepConsulterSupplyFunctionClass
protected abstract java.lang.Class<? extends DeepConsulterSupplyFunction> getDeepConsulterSupplyFunctionClass() -
getGetLoadedClassesRetrieverFunctionClass
protected abstract java.lang.Class<? extends GetLoadedClassesRetrieverFunction> getGetLoadedClassesRetrieverFunctionClass() -
getGetLoadedPackagesFunctionClass
protected abstract java.lang.Class<? extends GetLoadedPackagesFunction> getGetLoadedPackagesFunctionClass() -
getConvertToBuiltinClassLoaderFunctionClass
protected abstract java.lang.Class<? extends ConvertToBuiltinClassLoaderFunction> getConvertToBuiltinClassLoaderFunctionClass() -
getOrBuildExceptionThrower
protected ThrowExceptionFunction getOrBuildExceptionThrower(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getOrBuildAllocateInstanceInvoker
protected AllocateInstanceFunction getOrBuildAllocateInstanceInvoker(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getOrBuildFieldValueRetriever
protected GetFieldValueFunction getOrBuildFieldValueRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getOrBuildFieldValueSetter
protected SetFieldValueFunction getOrBuildFieldValueSetter(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getOrBuildHookClassDefiner
protected DefineHookClassFunction getOrBuildHookClassDefiner(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getOrBuildConsulterRetriever
protected ConsulterSupplyFunction getOrBuildConsulterRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getOrBuildDeclaredFieldsRetriever
protected GetDeclaredFieldsFunction getOrBuildDeclaredFieldsRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getOrBuildDeclaredMethodsRetriever
protected GetDeclaredMethodsFunction getOrBuildDeclaredMethodsRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getOrBuildDeclaredConstructorsRetriever
protected GetDeclaredConstructorsFunction getOrBuildDeclaredConstructorsRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getOrBuildAccessibleSetter
protected SetAccessibleFunction getOrBuildAccessibleSetter(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getOrBuildConstructorInvoker
protected ConstructorInvokeFunction getOrBuildConstructorInvoker(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getOrBuildMethodInvoker
protected MethodInvokeFunction getOrBuildMethodInvoker(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getOrBuildPackageRetriever
protected GetPackageFunction getOrBuildPackageRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getOrBuildClassByNameRetriever
protected GetClassByNameFunction getOrBuildClassByNameRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getOrBuildResourcesRetriever
protected GetResourcesFunction getOrBuildResourcesRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getOrBuildBuiltinClassLoaderClassSupplier
protected BuiltinClassLoaderClassSupplier getOrBuildBuiltinClassLoaderClassSupplier(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getOrBuildClassLoaderDelegateClassSupplier
protected ClassLoaderDelegateClassSupplier getOrBuildClassLoaderDelegateClassSupplier(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getOrBuildDeepConsulterRetriever
protected DeepConsulterSupplyFunction getOrBuildDeepConsulterRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getOrBuildLoadedClassesRetrieverFunction
protected GetLoadedClassesRetrieverFunction getOrBuildLoadedClassesRetrieverFunction(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getOrBuildLoadedPackagesRetriever
protected GetLoadedPackagesFunction getOrBuildLoadedPackagesRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getOrBuildClassLoaderToBuiltinClassLoaderConverter
protected ConvertToBuiltinClassLoaderFunction getOrBuildClassLoaderToBuiltinClassLoaderConverter(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getExceptionThrower
protected ThrowExceptionFunction getExceptionThrower(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getAllocateInstanceInvoker
protected AllocateInstanceFunction getAllocateInstanceInvoker(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getFieldValueRetriever
protected GetFieldValueFunction getFieldValueRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getFieldValueSetter
protected SetFieldValueFunction getFieldValueSetter(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getHookClassDefiner
protected DefineHookClassFunction getHookClassDefiner(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getConsulterRetriever
protected ConsulterSupplyFunction getConsulterRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getDeclaredFieldsRetriever
protected GetDeclaredFieldsFunction getDeclaredFieldsRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getDeclaredMethodsRetriever
protected GetDeclaredMethodsFunction getDeclaredMethodsRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getDeclaredConstructorsRetriever
protected GetDeclaredConstructorsFunction getDeclaredConstructorsRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getAccessibleSetter
protected SetAccessibleFunction getAccessibleSetter(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getConstructorInvoker
protected ConstructorInvokeFunction getConstructorInvoker(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getMethodInvoker
protected MethodInvokeFunction getMethodInvoker(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getPackageRetriever
protected GetPackageFunction getPackageRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getClassByNameRetriever
protected GetClassByNameFunction getClassByNameRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getResourcesRetriever
protected GetResourcesFunction getResourcesRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getBuiltinClassLoaderClassSupplier
protected BuiltinClassLoaderClassSupplier getBuiltinClassLoaderClassSupplier(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getClassLoaderDelegateClassSupplier
protected ClassLoaderDelegateClassSupplier getClassLoaderDelegateClassSupplier(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getDeepConsulterRetriever
protected DeepConsulterSupplyFunction getDeepConsulterRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getLoadedClassesRetrieverFunction
protected GetLoadedClassesRetrieverFunction getLoadedClassesRetrieverFunction(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getLoadedPackagesRetriever
protected GetLoadedPackagesFunction getLoadedPackagesRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
getClassLoaderToBuiltinClassLoaderConverter
protected ConvertToBuiltinClassLoaderFunction getClassLoaderToBuiltinClassLoaderConverter(java.util.Map<java.lang.Object,java.lang.Object> initializationContext) -
putIfNotNull
protected void putIfNotNull(java.util.Map<java.lang.Object,java.lang.Object> map, java.lang.Class<?> cls, java.lang.Object object) -
throwException
public <T> T throwException(java.lang.Throwable exception)- Specified by:
throwExceptionin interfaceDriver
-
throwException
public <T> T throwException(java.lang.String message, java.lang.Object... placeHolderReplacements)- Specified by:
throwExceptionin interfaceDriver
-
setAccessible
public void setAccessible(java.lang.reflect.AccessibleObject object, boolean flag)- Specified by:
setAccessiblein interfaceDriver
-
defineHookClass
public java.lang.Class<?> defineHookClass(java.lang.Class<?> clientClass, byte[] byteCode)- Specified by:
defineHookClassin interfaceDriver
-
getPackage
public java.lang.Package getPackage(java.lang.ClassLoader classLoader, java.lang.String packageName)- Specified by:
getPackagein interfaceDriver
-
getLoadedClassesRetriever
public CleanableSupplier<java.util.Collection<java.lang.Class<?>>> getLoadedClassesRetriever(java.lang.ClassLoader classLoader)- Specified by:
getLoadedClassesRetrieverin interfaceDriver
-
retrieveLoadedPackages
public java.util.Map<java.lang.String,?> retrieveLoadedPackages(java.lang.ClassLoader classLoader)- Specified by:
retrieveLoadedPackagesin interfaceDriver
-
getFieldValue
public <T> T getFieldValue(java.lang.Object target, java.lang.reflect.Field field)- Specified by:
getFieldValuein interfaceDriver
-
setFieldValue
public void setFieldValue(java.lang.Object target, java.lang.reflect.Field field, java.lang.Object value)- Specified by:
setFieldValuein interfaceDriver
-
allocateInstance
public <T> T allocateInstance(java.lang.Class<?> cls)- Specified by:
allocateInstancein interfaceDriver
-
getClassByName
public java.lang.Class<?> getClassByName(java.lang.String className, java.lang.Boolean initialize, java.lang.ClassLoader classLoader, java.lang.Class<?> caller)- Specified by:
getClassByNamein interfaceDriver
-
getResources
public java.util.Collection<java.net.URL> getResources(java.lang.String resourceRelativePath, boolean findFirst, java.lang.ClassLoader... classLoaders)- Specified by:
getResourcesin interfaceDriver
-
getResources
public java.util.Collection<java.net.URL> getResources(java.lang.String resourceRelativePath, boolean findFirst, java.util.Collection<java.lang.ClassLoader> classLoaders)- Specified by:
getResourcesin interfaceDriver
-
isBuiltinClassLoader
public boolean isBuiltinClassLoader(java.lang.ClassLoader classLoader)- Specified by:
isBuiltinClassLoaderin interfaceDriver
-
isClassLoaderDelegate
public boolean isClassLoaderDelegate(java.lang.ClassLoader classLoader)- Specified by:
isClassLoaderDelegatein interfaceDriver
-
getBuiltinClassLoaderClass
public java.lang.Class<?> getBuiltinClassLoaderClass()- Specified by:
getBuiltinClassLoaderClassin interfaceDriver
-
getClassLoaderDelegateClass
public java.lang.Class<?> getClassLoaderDelegateClass()- Specified by:
getClassLoaderDelegateClassin interfaceDriver
-
getConsulter
public java.lang.invoke.MethodHandles.Lookup getConsulter(java.lang.Class<?> cls)- Specified by:
getConsulterin interfaceDriver
-
invoke
public <T> T invoke(java.lang.Object target, java.lang.reflect.Method method, java.lang.Object[] params) -
newInstance
public <T> T newInstance(java.lang.reflect.Constructor<T> ctor, java.lang.Object[] params)- Specified by:
newInstancein interfaceDriver
-
getDeclaredFields
public java.lang.reflect.Field[] getDeclaredFields(java.lang.Class<?> cls)- Specified by:
getDeclaredFieldsin interfaceDriver
-
getDeclaredConstructors
public <T> java.lang.reflect.Constructor<T>[] getDeclaredConstructors(java.lang.Class<T> cls)- Specified by:
getDeclaredConstructorsin interfaceDriver
-
getDeclaredMethods
public java.lang.reflect.Method[] getDeclaredMethods(java.lang.Class<?> cls)- Specified by:
getDeclaredMethodsin interfaceDriver
-
convertToBuiltinClassLoader
public java.lang.ClassLoader convertToBuiltinClassLoader(java.lang.ClassLoader classLoader)- Specified by:
convertToBuiltinClassLoaderin interfaceDriver
-
close
public void close()
-