Package net.bytebuddy.agent.builder
Class AgentBuilder.RedefinitionStrategy.Dispatcher.ForJava6CapableVm
- java.lang.Object
-
- net.bytebuddy.agent.builder.AgentBuilder.RedefinitionStrategy.Dispatcher.ForJava6CapableVm
-
- All Implemented Interfaces:
AgentBuilder.RedefinitionStrategy.Dispatcher
- Enclosing interface:
- AgentBuilder.RedefinitionStrategy.Dispatcher
@Enhance public static class AgentBuilder.RedefinitionStrategy.Dispatcher.ForJava6CapableVm extends Object implements AgentBuilder.RedefinitionStrategy.Dispatcher
A dispatcher for a Java 6 capable VM.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface net.bytebuddy.agent.builder.AgentBuilder.RedefinitionStrategy.Dispatcher
AgentBuilder.RedefinitionStrategy.Dispatcher.CreationAction, AgentBuilder.RedefinitionStrategy.Dispatcher.ForJava6CapableVm, AgentBuilder.RedefinitionStrategy.Dispatcher.ForLegacyVm
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
ForJava6CapableVm(Method isModifiableClass, Method isRetransformClassesSupported, Method retransformClasses)
Creates a new Java 6 capable dispatcher.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
isModifiableClass(Instrumentation instrumentation, Class<?> type)
Checks if the supplied type is modifiable.boolean
isRetransformClassesSupported(Instrumentation instrumentation)
Checks if retransformation is supported for the supplied instrumentation instance.void
retransformClasses(Instrumentation instrumentation, Class<?>[] type)
Retransforms the supplied classes.
-
-
-
Constructor Detail
-
ForJava6CapableVm
protected ForJava6CapableVm(Method isModifiableClass, Method isRetransformClassesSupported, Method retransformClasses)
Creates a new Java 6 capable dispatcher.- Parameters:
isModifiableClass
- TheInstrumentation#isModifiableClass
method.isRetransformClassesSupported
- TheInstrumentation#isRetransformClassesSupported
method.retransformClasses
- TheInstrumentation#retransformClasses
method.
-
-
Method Detail
-
isModifiableClass
public boolean isModifiableClass(Instrumentation instrumentation, Class<?> type)
Checks if the supplied type is modifiable.- Specified by:
isModifiableClass
in interfaceAgentBuilder.RedefinitionStrategy.Dispatcher
- Parameters:
instrumentation
- The instrumentation instance available.type
- The type to check for modifiability.- Returns:
true
if the supplied type is modifiable.
-
isRetransformClassesSupported
public boolean isRetransformClassesSupported(Instrumentation instrumentation)
Checks if retransformation is supported for the supplied instrumentation instance.- Specified by:
isRetransformClassesSupported
in interfaceAgentBuilder.RedefinitionStrategy.Dispatcher
- Parameters:
instrumentation
- The instrumentation instance available.- Returns:
true
if the supplied instance supports retransformation.
-
retransformClasses
public void retransformClasses(Instrumentation instrumentation, Class<?>[] type) throws UnmodifiableClassException
Retransforms the supplied classes.- Specified by:
retransformClasses
in interfaceAgentBuilder.RedefinitionStrategy.Dispatcher
- Parameters:
instrumentation
- The instrumentation instance to use for retransformation.type
- The types to retransform.- Throws:
UnmodifiableClassException
- If the supplied classes cannot be retransformed.
-
-