Package net.bytebuddy.dynamic.loading
Interface ClassReloadingStrategy.Dispatcher
-
- All Known Implementing Classes:
ClassReloadingStrategy.Dispatcher.ForJava6CapableVm,ClassReloadingStrategy.Dispatcher.ForLegacyVm
- Enclosing class:
- ClassReloadingStrategy
protected static interface ClassReloadingStrategy.DispatcherA dispatcher to interact with the instrumentation API.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classClassReloadingStrategy.Dispatcher.CreationActionAn action to create an appropriateClassReloadingStrategy.Dispatcher.static classClassReloadingStrategy.Dispatcher.ForJava6CapableVmA dispatcher for a Java 6 capable VM that is potentially capable of retransformation.static classClassReloadingStrategy.Dispatcher.ForLegacyVmA dispatcher for a legacy VM that does not support retransformation.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddTransformer(Instrumentation instrumentation, ClassFileTransformer classFileTransformer, boolean canRetransform)Registers a transformer.booleanisModifiableClass(Instrumentation instrumentation, Class<?> type)Invokes theInstrumentation#isModifiableClassmethod.booleanisRetransformClassesSupported(Instrumentation instrumentation)Invokes theInstrumentation#isRetransformClassesSupportedmethod.voidretransformClasses(Instrumentation instrumentation, Class<?>[] type)Retransforms the supplied classes.
-
-
-
Method Detail
-
isModifiableClass
boolean isModifiableClass(Instrumentation instrumentation, Class<?> type)
Invokes theInstrumentation#isModifiableClassmethod.- Parameters:
instrumentation- The instrumentation instance to invoke the method on.type- The type to consider for modifiability.- Returns:
trueif the supplied type can be modified.
-
isRetransformClassesSupported
boolean isRetransformClassesSupported(Instrumentation instrumentation)
Invokes theInstrumentation#isRetransformClassesSupportedmethod.- Parameters:
instrumentation- The instrumentation instance to invoke the method on.- Returns:
trueif the supplied instrumentation instance supports retransformation.
-
addTransformer
void addTransformer(Instrumentation instrumentation, ClassFileTransformer classFileTransformer, boolean canRetransform)
Registers a transformer.- Parameters:
instrumentation- The instrumentation instance to invoke the method on.classFileTransformer- The class file transformer to register.canRetransform-trueif the class file transformer should be invoked upon a retransformation.
-
retransformClasses
void retransformClasses(Instrumentation instrumentation, Class<?>[] type) throws UnmodifiableClassException
Retransforms the supplied classes.- Parameters:
instrumentation- The instrumentation instance to invoke the method on.type- The types to retransform.- Throws:
UnmodifiableClassException- If any of the supplied types are unmodifiable.
-
-