Package net.bytebuddy.agent.builder
Class AgentBuilder.Default.Transformation.Simple.Resolution
- java.lang.Object
-
- net.bytebuddy.agent.builder.AgentBuilder.Default.Transformation.Simple.Resolution
-
- All Implemented Interfaces:
AgentBuilder.Default.Transformation.Resolution
,AgentBuilder.Default.Transformation.Resolution.Decoratable
- Enclosing class:
- AgentBuilder.Default.Transformation.Simple
protected static class AgentBuilder.Default.Transformation.Simple.Resolution extends java.lang.Object implements AgentBuilder.Default.Transformation.Resolution.Decoratable
A resolution that performs a type transformation.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
AgentBuilder.Default.Transformation.Simple.Resolution.BootstrapClassLoaderCapableInjectorFactory
An injector factory that resolves to a bootstrap class loader injection if this is necessary and enabled.-
Nested classes/interfaces inherited from interface net.bytebuddy.agent.builder.AgentBuilder.Default.Transformation.Resolution
AgentBuilder.Default.Transformation.Resolution.Decoratable, AgentBuilder.Default.Transformation.Resolution.Sort, AgentBuilder.Default.Transformation.Resolution.Unresolved
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
Resolution(TypeDescription typeDescription, java.lang.ClassLoader classLoader, JavaModule module, java.security.ProtectionDomain protectionDomain, boolean loaded, TypePool typePool, AgentBuilder.Transformer transformer, boolean decorator)
Creates a new active transformation.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AgentBuilder.Default.Transformation.Resolution
append(AgentBuilder.Transformer transformer)
Appends the supplied transformer to this resolution.byte[]
apply(AgentBuilder.InitializationStrategy initializationStrategy, ClassFileLocator classFileLocator, AgentBuilder.TypeStrategy typeStrategy, ByteBuddy byteBuddy, AgentBuilder.Default.NativeMethodStrategy methodNameTransformer, AgentBuilder.Default.BootstrapInjectionStrategy bootstrapInjectionStrategy, java.security.AccessControlContext accessControlContext, AgentBuilder.Listener listener)
Transforms a type or returnsnull
if a type is not to be transformed.AgentBuilder.Default.Transformation.Resolution
asDecoratorOf(AgentBuilder.Default.Transformation.Resolution resolution)
Resolves this resolution as a decorator of the supplied resolution.AgentBuilder.Default.Transformation.Resolution.Sort
getSort()
Returns the sort of this resolution.AgentBuilder.Default.Transformation.Resolution
prepend(AgentBuilder.Default.Transformation.Resolution.Decoratable resolution)
Resolves this resolution as a decorator of the supplied resolution.
-
-
-
Constructor Detail
-
Resolution
protected Resolution(TypeDescription typeDescription, java.lang.ClassLoader classLoader, JavaModule module, java.security.ProtectionDomain protectionDomain, boolean loaded, TypePool typePool, AgentBuilder.Transformer transformer, boolean decorator)
Creates a new active transformation.- Parameters:
typeDescription
- A description of the transformed type.classLoader
- The class loader of the transformed type.module
- The transformed type's module ornull
if the current VM does not support modules.protectionDomain
- The protection domain of the transformed type.loaded
-true
if the transformed type is already loaded.typePool
- The type pool to apply during type creation.transformer
- The transformer to be applied.decorator
-true
if this transformer serves as a decorator.
-
-
Method Detail
-
getSort
public AgentBuilder.Default.Transformation.Resolution.Sort getSort()
Description copied from interface:AgentBuilder.Default.Transformation.Resolution
Returns the sort of this resolution.- Specified by:
getSort
in interfaceAgentBuilder.Default.Transformation.Resolution
- Returns:
- The sort of this resolution.
-
asDecoratorOf
public AgentBuilder.Default.Transformation.Resolution asDecoratorOf(AgentBuilder.Default.Transformation.Resolution resolution)
Description copied from interface:AgentBuilder.Default.Transformation.Resolution
Resolves this resolution as a decorator of the supplied resolution.- Specified by:
asDecoratorOf
in interfaceAgentBuilder.Default.Transformation.Resolution
- Parameters:
resolution
- The resolution for which this resolution should serve as a decorator.- Returns:
- A resolution where this resolution is applied as a decorator if this resolution is alive.
-
prepend
public AgentBuilder.Default.Transformation.Resolution prepend(AgentBuilder.Default.Transformation.Resolution.Decoratable resolution)
Description copied from interface:AgentBuilder.Default.Transformation.Resolution
Resolves this resolution as a decorator of the supplied resolution.- Specified by:
prepend
in interfaceAgentBuilder.Default.Transformation.Resolution
- Parameters:
resolution
- The resolution for which this resolution should serve as a decorator.- Returns:
- A resolution where this resolution is applied as a decorator if this resolution is alive.
-
append
public AgentBuilder.Default.Transformation.Resolution append(AgentBuilder.Transformer transformer)
Description copied from interface:AgentBuilder.Default.Transformation.Resolution.Decoratable
Appends the supplied transformer to this resolution.- Specified by:
append
in interfaceAgentBuilder.Default.Transformation.Resolution.Decoratable
- Parameters:
transformer
- The transformer to append to the transformer that is represented bz this instance.- Returns:
- A new resolution with the supplied transformer appended to this transformer.
-
apply
public byte[] apply(AgentBuilder.InitializationStrategy initializationStrategy, ClassFileLocator classFileLocator, AgentBuilder.TypeStrategy typeStrategy, ByteBuddy byteBuddy, AgentBuilder.Default.NativeMethodStrategy methodNameTransformer, AgentBuilder.Default.BootstrapInjectionStrategy bootstrapInjectionStrategy, java.security.AccessControlContext accessControlContext, AgentBuilder.Listener listener)
Description copied from interface:AgentBuilder.Default.Transformation.Resolution
Transforms a type or returnsnull
if a type is not to be transformed.- Specified by:
apply
in interfaceAgentBuilder.Default.Transformation.Resolution
- Parameters:
initializationStrategy
- The initialization strategy to use.classFileLocator
- The class file locator to use.typeStrategy
- The definition handler to use.byteBuddy
- The Byte Buddy instance to use.methodNameTransformer
- The method name transformer to be used.bootstrapInjectionStrategy
- The bootstrap injection strategy to be used.accessControlContext
- The access control context to be used.listener
- The listener to be invoked to inform about an applied or non-applied transformation.- Returns:
- The class file of the transformed class or
null
if no transformation is attempted.
-
-