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>
accessibleSetter
protected ThrowingFunction<java.lang.Class<?>,java.lang.Object,java.lang.Throwable>
allocateInstanceInvoker
protected Supplier<java.lang.Class<?>>
builtinClassLoaderClassSupplier
protected ThrowingQuadFunction<java.lang.String,java.lang.Boolean,java.lang.ClassLoader,java.lang.Class<?>,java.lang.Class<?>,java.lang.Throwable>
classByNameRetriever
protected Supplier<java.lang.Class<?>>
classLoaderDelegateClassSupplier
protected ThrowingFunction<java.lang.ClassLoader,java.lang.ClassLoader,java.lang.Throwable>
classLoaderToBuiltinClassLoaderConverter
protected ThrowingBiFunction<java.lang.reflect.Constructor<?>,java.lang.Object[],java.lang.Object,java.lang.Throwable>
constructorInvoker
protected ThrowingFunction<java.lang.Class<?>,java.lang.invoke.MethodHandles.Lookup,java.lang.Throwable>
consulterRetriever
protected ThrowingFunction<java.lang.Class<?>,java.lang.reflect.Constructor<?>[],java.lang.Throwable>
declaredConstructorsRetriever
protected ThrowingFunction<java.lang.Class<?>,java.lang.reflect.Field[],java.lang.Throwable>
declaredFieldsRetriever
protected ThrowingFunction<java.lang.Class<?>,java.lang.reflect.Method[],java.lang.Throwable>
declaredMethodsRetriever
protected ThrowExceptionFunction
exceptionThrower
protected BiFunction<java.lang.Object,java.lang.reflect.Field,java.lang.Object>
fieldValueRetriever
protected TriConsumer<java.lang.Object,java.lang.reflect.Field,java.lang.Object>
fieldValueSetter
protected ThrowingBiFunction<java.lang.Class<?>,byte[],java.lang.Class<?>,java.lang.Throwable>
hookClassDefiner
protected Function<java.lang.ClassLoader,CleanableSupplier<java.util.Collection<java.lang.Class<?>>>>
loadedClassesRetrieverSupplier
protected Function<java.lang.ClassLoader,java.util.Map<java.lang.String,?>>
loadedPackagesRetriever
protected ThrowingTriFunction<java.lang.reflect.Method,java.lang.Object,java.lang.Object[],java.lang.Object,java.lang.Throwable>
methodInvoker
protected ThrowingBiFunction<java.lang.ClassLoader,java.lang.String,java.lang.Package,java.lang.Throwable>
packageRetriever
protected GetResourcesFunction
resourcesRetriver
protected ThrowingBiConsumer<java.lang.Thread,java.lang.Throwable,java.lang.Throwable>
threadStopper
-
Constructor Summary
Constructors Constructor Description DriverAbst()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete 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)
protected java.util.Map<java.lang.Object,java.lang.Object>
functionsToMap()
protected SetAccessibleFunction
getAccessibleSetter(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
protected abstract java.lang.Class<? extends AllocateInstanceFunction>
getAllocateInstanceFunctionClass()
protected AllocateInstanceFunction
getAllocateInstanceInvoker(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
java.lang.Class<?>
getBuiltinClassLoaderClass()
protected BuiltinClassLoaderClassSupplier
getBuiltinClassLoaderClassSupplier(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 GetClassByNameFunction
getClassByNameRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
java.lang.Class<?>
getClassLoaderDelegateClass()
protected ClassLoaderDelegateClassSupplier
getClassLoaderDelegateClassSupplier(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
protected abstract java.lang.Class<? extends ClassLoaderDelegateClassSupplier>
getClassLoaderDelegateClassSupplierClass()
protected ConvertToBuiltinClassLoaderFunction
getClassLoaderToBuiltinClassLoaderConverter(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
protected abstract java.lang.Class<? extends ConstructorInvokeFunction>
getConstructorInvokeFunctionClass()
protected ConstructorInvokeFunction
getConstructorInvoker(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
java.lang.invoke.MethodHandles.Lookup
getConsulter(java.lang.Class<?> cls)
protected ConsulterSupplyFunction
getConsulterRetriever(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 GetDeclaredConstructorsFunction
getDeclaredConstructorsRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
java.lang.reflect.Field[]
getDeclaredFields(java.lang.Class<?> cls)
protected GetDeclaredFieldsFunction
getDeclaredFieldsRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
java.lang.reflect.Method[]
getDeclaredMethods(java.lang.Class<?> cls)
protected GetDeclaredMethodsFunction
getDeclaredMethodsRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
protected DeepConsulterSupplyFunction
getDeepConsulterRetriever(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 ThrowExceptionFunction
getExceptionThrower(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
<T> T
getFieldValue(java.lang.Object target, java.lang.reflect.Field field)
protected GetFieldValueFunction
getFieldValueRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
protected SetFieldValueFunction
getFieldValueSetter(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 DefineHookClassFunction
getHookClassDefiner(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
CleanableSupplier<java.util.Collection<java.lang.Class<?>>>
getLoadedClassesRetriever(java.lang.ClassLoader classLoader)
protected GetLoadedClassesRetrieverFunction
getLoadedClassesRetrieverFunction(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
protected GetLoadedPackagesFunction
getLoadedPackagesRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
protected abstract java.lang.Class<? extends MethodInvokeFunction>
getMethodInvokeFunctionClass()
protected MethodInvokeFunction
getMethodInvoker(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
protected SetAccessibleFunction
getOrBuildAccessibleSetter(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
protected AllocateInstanceFunction
getOrBuildAllocateInstanceInvoker(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
protected BuiltinClassLoaderClassSupplier
getOrBuildBuiltinClassLoaderClassSupplier(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
protected GetClassByNameFunction
getOrBuildClassByNameRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
protected ClassLoaderDelegateClassSupplier
getOrBuildClassLoaderDelegateClassSupplier(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
protected ConvertToBuiltinClassLoaderFunction
getOrBuildClassLoaderToBuiltinClassLoaderConverter(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
protected ConstructorInvokeFunction
getOrBuildConstructorInvoker(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
protected ConsulterSupplyFunction
getOrBuildConsulterRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
protected GetDeclaredConstructorsFunction
getOrBuildDeclaredConstructorsRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
protected GetDeclaredFieldsFunction
getOrBuildDeclaredFieldsRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
protected GetDeclaredMethodsFunction
getOrBuildDeclaredMethodsRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
protected DeepConsulterSupplyFunction
getOrBuildDeepConsulterRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
protected ThrowExceptionFunction
getOrBuildExceptionThrower(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
protected GetFieldValueFunction
getOrBuildFieldValueRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
protected SetFieldValueFunction
getOrBuildFieldValueSetter(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
protected DefineHookClassFunction
getOrBuildHookClassDefiner(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
protected GetLoadedClassesRetrieverFunction
getOrBuildLoadedClassesRetrieverFunction(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
protected GetLoadedPackagesFunction
getOrBuildLoadedPackagesRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
protected MethodInvokeFunction
getOrBuildMethodInvoker(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
protected GetPackageFunction
getOrBuildPackageRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
protected GetResourcesFunction
getOrBuildResourcesRetriever(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
protected StopThreadFunction
getOrBuildThreadStopper(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
java.lang.Package
getPackage(java.lang.ClassLoader classLoader, java.lang.String packageName)
protected GetPackageFunction
getPackageRetriever(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 GetResourcesFunction
getResourcesRetriever(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 StopThreadFunction>
getStopThreadFunctionClass()
protected StopThreadFunction
getThreadStopper(java.util.Map<java.lang.Object,java.lang.Object> initializationContext)
protected abstract java.lang.Class<? extends ThrowExceptionFunction>
getThrowExceptionFunctionClass()
<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)
protected void
putIfNotNull(java.util.Map<java.lang.Object,java.lang.Object> map, java.lang.Class<?> cls, java.lang.Object object)
protected ObjectProvider
putNewObjectProviderIfAbsent(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)
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)
-
-
-
Field Detail
-
exceptionThrower
protected ThrowExceptionFunction 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
protected TriConsumer<java.lang.Object,java.lang.reflect.Field,java.lang.Object> 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
protected GetResourcesFunction resourcesRetriver
-
builtinClassLoaderClassSupplier
protected Supplier<java.lang.Class<?>> builtinClassLoaderClassSupplier
-
classLoaderDelegateClassSupplier
protected Supplier<java.lang.Class<?>> 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
-
threadStopper
protected ThrowingBiConsumer<java.lang.Thread,java.lang.Throwable,java.lang.Throwable> threadStopper
-
-
Method Detail
-
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
protected abstract java.lang.Class<? extends GetFieldValueFunction> getGetFieldValueFunctionClass()
-
getSetFieldValueFunctionClass
protected abstract java.lang.Class<? extends SetFieldValueFunction> 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
protected abstract java.lang.Class<? extends SetAccessibleFunction> getSetAccessibleFunctionClass()
-
getConstructorInvokeFunctionClass
protected abstract java.lang.Class<? extends ConstructorInvokeFunction> getConstructorInvokeFunctionClass()
-
getMethodInvokeFunctionClass
protected abstract java.lang.Class<? extends MethodInvokeFunction> getMethodInvokeFunctionClass()
-
getGetPackageFunctionClass
protected abstract java.lang.Class<? extends GetPackageFunction> getGetPackageFunctionClass()
-
getGetClassByNameFunctionClass
protected abstract java.lang.Class<? extends GetClassByNameFunction> getGetClassByNameFunctionClass()
-
getGetResourcesFunctionClass
protected abstract java.lang.Class<? extends GetResourcesFunction> 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()
-
getStopThreadFunctionClass
protected abstract java.lang.Class<? extends StopThreadFunction> getStopThreadFunctionClass()
-
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)
-
getOrBuildThreadStopper
protected StopThreadFunction getOrBuildThreadStopper(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)
-
getThreadStopper
protected StopThreadFunction getThreadStopper(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:
throwException
in interfaceDriver
-
throwException
public <T> T throwException(java.lang.String message, java.lang.Object... placeHolderReplacements)
- Specified by:
throwException
in interfaceDriver
-
setAccessible
public void setAccessible(java.lang.reflect.AccessibleObject object, boolean flag)
- Specified by:
setAccessible
in interfaceDriver
-
defineHookClass
public java.lang.Class<?> defineHookClass(java.lang.Class<?> clientClass, byte[] byteCode)
- Specified by:
defineHookClass
in interfaceDriver
-
getPackage
public java.lang.Package getPackage(java.lang.ClassLoader classLoader, java.lang.String packageName)
- Specified by:
getPackage
in interfaceDriver
-
getLoadedClassesRetriever
public CleanableSupplier<java.util.Collection<java.lang.Class<?>>> getLoadedClassesRetriever(java.lang.ClassLoader classLoader)
- Specified by:
getLoadedClassesRetriever
in interfaceDriver
-
retrieveLoadedPackages
public java.util.Map<java.lang.String,?> retrieveLoadedPackages(java.lang.ClassLoader classLoader)
- Specified by:
retrieveLoadedPackages
in interfaceDriver
-
getFieldValue
public <T> T getFieldValue(java.lang.Object target, java.lang.reflect.Field field)
- Specified by:
getFieldValue
in interfaceDriver
-
setFieldValue
public void setFieldValue(java.lang.Object target, java.lang.reflect.Field field, java.lang.Object value)
- Specified by:
setFieldValue
in interfaceDriver
-
allocateInstance
public <T> T allocateInstance(java.lang.Class<?> cls)
- Specified by:
allocateInstance
in 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:
getClassByName
in interfaceDriver
-
getResources
public java.util.Collection<java.net.URL> getResources(java.lang.String resourceRelativePath, boolean findFirst, java.lang.ClassLoader... classLoaders)
- Specified by:
getResources
in 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:
getResources
in interfaceDriver
-
isBuiltinClassLoader
public boolean isBuiltinClassLoader(java.lang.ClassLoader classLoader)
- Specified by:
isBuiltinClassLoader
in interfaceDriver
-
isClassLoaderDelegate
public boolean isClassLoaderDelegate(java.lang.ClassLoader classLoader)
- Specified by:
isClassLoaderDelegate
in interfaceDriver
-
getBuiltinClassLoaderClass
public java.lang.Class<?> getBuiltinClassLoaderClass()
- Specified by:
getBuiltinClassLoaderClass
in interfaceDriver
-
getClassLoaderDelegateClass
public java.lang.Class<?> getClassLoaderDelegateClass()
- Specified by:
getClassLoaderDelegateClass
in interfaceDriver
-
getConsulter
public java.lang.invoke.MethodHandles.Lookup getConsulter(java.lang.Class<?> cls)
- Specified by:
getConsulter
in 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:
newInstance
in interfaceDriver
-
getDeclaredFields
public java.lang.reflect.Field[] getDeclaredFields(java.lang.Class<?> cls)
- Specified by:
getDeclaredFields
in interfaceDriver
-
getDeclaredConstructors
public <T> java.lang.reflect.Constructor<T>[] getDeclaredConstructors(java.lang.Class<T> cls)
- Specified by:
getDeclaredConstructors
in interfaceDriver
-
getDeclaredMethods
public java.lang.reflect.Method[] getDeclaredMethods(java.lang.Class<?> cls)
- Specified by:
getDeclaredMethods
in interfaceDriver
-
stop
@Deprecated(since="9.4.0") public void stop(java.lang.Thread thread)
Deprecated.
-
convertToBuiltinClassLoader
public java.lang.ClassLoader convertToBuiltinClassLoader(java.lang.ClassLoader classLoader)
- Specified by:
convertToBuiltinClassLoader
in interfaceDriver
-
-