protected abstract static class AgentBuilder.RedefinitionStrategy.Collector extends Object
Modifier and Type | Class and Description |
---|---|
protected static class |
AgentBuilder.RedefinitionStrategy.Collector.ForRedefinition
A collector that applies a redefinition of already loaded classes.
|
protected static class |
AgentBuilder.RedefinitionStrategy.Collector.ForRetransformation
A collector that applies a retransformation of already loaded classes.
|
Modifier and Type | Field and Description |
---|---|
protected AgentBuilder.Default.Transformation |
transformation
The transformation instance to use for considering types.
|
protected List<Class<?>> |
types
All types that were collected for redefinition.
|
Modifier | Constructor and Description |
---|---|
protected |
Collector(AgentBuilder.Default.Transformation transformation)
Creates a new collector.
|
Modifier and Type | Method and Description |
---|---|
protected void |
apply(Instrumentation instrumentation,
AgentBuilder.CircularityLock circularityLock,
AgentBuilder.LocationStrategy locationStrategy,
AgentBuilder.Listener listener,
AgentBuilder.RedefinitionStrategy.BatchAllocator redefinitionBatchAllocator,
AgentBuilder.RedefinitionStrategy.Listener redefinitionListener)
Applies all types that this collector collected.
|
protected void |
consider(AgentBuilder.RawMatcher ignoredTypeMatcher,
AgentBuilder.Listener listener,
TypeDescription typeDescription,
Class<?> type,
Class<?> classBeingRedefined,
JavaModule module,
boolean unmodifiable)
Does consider the retransformation or redefinition of a loaded type.
|
protected void |
consider(AgentBuilder.RawMatcher ignoredTypeMatcher,
AgentBuilder.Listener listener,
TypeDescription typeDescription,
Class<?> type,
JavaModule module)
Does consider the retransformation or redefinition of a loaded type without a loaded type representation.
|
protected abstract void |
doApply(Instrumentation instrumentation,
AgentBuilder.CircularityLock circularityLock,
List<Class<?>> types,
AgentBuilder.LocationStrategy locationStrategy,
AgentBuilder.Listener listener)
Applies this collector.
|
String |
toString() |
protected final AgentBuilder.Default.Transformation transformation
protected Collector(AgentBuilder.Default.Transformation transformation)
transformation
- The transformation instance to use for considering types.protected void consider(AgentBuilder.RawMatcher ignoredTypeMatcher, AgentBuilder.Listener listener, TypeDescription typeDescription, Class<?> type, JavaModule module)
ignoredTypeMatcher
- The ignored type matcher to apply.listener
- The listener to apply during the consideration.typeDescription
- The type description of the type being considered.type
- The loaded type being considered.module
- The type's Java module or null
if the current VM does not support modules.protected void consider(AgentBuilder.RawMatcher ignoredTypeMatcher, AgentBuilder.Listener listener, TypeDescription typeDescription, Class<?> type, Class<?> classBeingRedefined, JavaModule module, boolean unmodifiable)
ignoredTypeMatcher
- The ignored type matcher to apply.listener
- The listener to apply during the consideration.typeDescription
- The type description of the type being considered.type
- The loaded type being considered.classBeingRedefined
- The loaded type being considered or null
if it should be considered non-available.module
- The type's Java module or null
if the current VM does not support modules.unmodifiable
- true
if the current type should be considered unmodifiable.protected void apply(Instrumentation instrumentation, AgentBuilder.CircularityLock circularityLock, AgentBuilder.LocationStrategy locationStrategy, AgentBuilder.Listener listener, AgentBuilder.RedefinitionStrategy.BatchAllocator redefinitionBatchAllocator, AgentBuilder.RedefinitionStrategy.Listener redefinitionListener)
instrumentation
- The instrumentation instance to apply changes to.circularityLock
- The circularity lock to use.locationStrategy
- The location strategy to use.listener
- The listener to use.redefinitionBatchAllocator
- The redefinition batch allocator to use.redefinitionListener
- The redefinition listener to use.protected abstract void doApply(Instrumentation instrumentation, AgentBuilder.CircularityLock circularityLock, List<Class<?>> types, AgentBuilder.LocationStrategy locationStrategy, AgentBuilder.Listener listener) throws UnmodifiableClassException, ClassNotFoundException
instrumentation
- The instrumentation instance to apply the transformation for.circularityLock
- The circularity lock to use.types
- The types of the current patch to transform.locationStrategy
- The location strategy to use.listener
- the listener to notify.UnmodifiableClassException
- If a class is not modifiable.ClassNotFoundException
- If a class could not be found.Copyright © 2014–2016. All rights reserved.