Package | Description |
---|---|
net.bytebuddy.agent.builder |
An agent builder is used to easily implement load-time class-transformations using a Java agent.
|
Class and Description |
---|
AgentBuilder
An agent builder provides a convenience API for defining a
Java agent.
|
AgentBuilder.CircularityLock
A circularity lock is responsible for preventing that a
ClassFileLocator is used recursively. |
AgentBuilder.CircularityLock.Inactive
An inactive circularity lock which is always acquirable.
|
AgentBuilder.CircularityLock.WithInnerClassLoadingLock
A circularity lock that surrounds the locking mechanism with a global lock to prevent that the
locking mechanism itself loads classes and causes a circularity issue.
|
AgentBuilder.ClassFileBufferStrategy
This strategy determines how the provided class file buffer is used.
|
AgentBuilder.ClassFileBufferStrategy.Default
An implementation of default class file buffer strategy.
|
AgentBuilder.Default
The default implementation of an
AgentBuilder . |
AgentBuilder.Default.Delegator
An abstract implementation of an agent builder that delegates all invocation to another instance.
|
AgentBuilder.Default.Delegator.Matchable
An abstract base implementation of a matchable.
|
AgentBuilder.Default.ExecutingTransformer.Factory
A factory for creating a
ClassFileTransformer for the current VM. |
AgentBuilder.Default.ExecutingTransformer.Factory.CreationAction
An action to create an implementation of
AgentBuilder.Default.ExecutingTransformer that support Java 9 modules. |
AgentBuilder.Default.ExecutingTransformer.Factory.ForLegacyVm
A factory for a
ClassFileTransformer on a VM that does not support the java.lang.Module API. |
AgentBuilder.Default.NativeMethodStrategy
A strategy for determining if a native method name prefix should be used when rebasing methods.
|
AgentBuilder.Default.NativeMethodStrategy.Disabled
A native method strategy that suffixes method names with a random suffix and disables native method rebasement.
|
AgentBuilder.Default.Transformation
A transformation to apply.
|
AgentBuilder.Default.WarmupStrategy
A strategy to warm up a
ClassFileTransformer before using it to eagerly load classes and to avoid
circularity errors when classes are loaded during actual transformation for the first time. |
AgentBuilder.Default.WarmupStrategy.NoOp
A non-operational warmup strategy.
|
AgentBuilder.DescriptionStrategy
A description strategy is responsible for resolving a
TypeDescription when transforming or retransforming/-defining a type. |
AgentBuilder.DescriptionStrategy.Default
Default implementations of a
AgentBuilder.DescriptionStrategy . |
AgentBuilder.FallbackStrategy
A fallback strategy allows to reattempt a transformation or a consideration for redefinition/retransformation in case an exception
occurs.
|
AgentBuilder.FallbackStrategy.Simple
A simple fallback strategy that either always reattempts a transformation or never does so.
|
AgentBuilder.Identified
Describes an
AgentBuilder which was handed a matcher for identifying
types to instrumented in order to supply one or several
AgentBuilder.Transformer s. |
AgentBuilder.Identified.Extendable
This interface is used to allow for optionally providing several
AgentBuilder.Transformer to applied when a matcher identifies a type
to be instrumented. |
AgentBuilder.Identified.Narrowable
Allows to specify a type matcher for a type to instrument.
|
AgentBuilder.Ignored
Allows to further specify ignored types.
|
AgentBuilder.InitializationStrategy
An initialization strategy which determines the handling of
LoadedTypeInitializer s
and the loading of auxiliary types. |
AgentBuilder.InitializationStrategy.Dispatcher
A dispatcher for changing a class file to adapt a self-initialization strategy.
|
AgentBuilder.InitializationStrategy.Minimal
An initialization strategy that loads auxiliary types before loading the instrumented type.
|
AgentBuilder.InitializationStrategy.NoOp
A non-initializing initialization strategy.
|
AgentBuilder.InitializationStrategy.SelfInjection
An initialization strategy that adds a code block to an instrumented type's type initializer which
then calls a specific class that is responsible for the explicit initialization.
|
AgentBuilder.InitializationStrategy.SelfInjection.Dispatcher
A dispatcher for a self-initialization strategy.
|
AgentBuilder.InjectionStrategy
A strategy for injecting auxiliary types into a class loader.
|
AgentBuilder.InjectionStrategy.Disabled
An injection strategy that does not permit class injection.
|
AgentBuilder.InjectionStrategy.UsingJna
An injection strategy that uses JNA to inject classes.
|
AgentBuilder.InjectionStrategy.UsingReflection
An injection strategy that uses Java reflection.
|
AgentBuilder.InjectionStrategy.UsingUnsafe
An injection strategy that uses
sun.misc.Unsafe or jdk.internal.misc.Unsafe to inject classes. |
AgentBuilder.InstallationListener
A listener that is notified during the installation and the resetting of a class file transformer.
|
AgentBuilder.InstallationListener.Adapter
An adapter implementation for an installation listener that serves as a convenience.
|
AgentBuilder.InstallationListener.ErrorSuppressing
A listener that suppresses any installation error.
|
AgentBuilder.InstallationListener.NoOp
A non-operational listener that does not do anything.
|
AgentBuilder.LambdaInstrumentationStrategy
Implements the instrumentation of the
LambdaMetafactory if this feature is enabled. |
AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.ConstructorImplementation
Implements a lambda class's executing transformer.
|
AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.FactoryImplementation
An implementation of a instance factory for a lambda expression's class.
|
AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.LambdaMethodImplementation.Appender.Dispatcher
A dispatcher for a lambda expression's implementation.
|
AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.LambdaMethodImplementation.Appender.Dispatcher.UsingDirectInvocation
An invocation that is using a direct call to the target method.
|
AgentBuilder.LambdaInstrumentationStrategy.LambdaMetafactoryFactory
A factory for rewriting the JDK's
java.lang.invoke.LambdaMetafactory methods for use with Byte Buddy. |
AgentBuilder.LambdaInstrumentationStrategy.LambdaMetafactoryFactory.Loader
A loader is responsible for loading a generated class file in the current VM.
|
AgentBuilder.LambdaInstrumentationStrategy.LambdaMetafactoryFactory.Loader.Unavailable
An implementation that indicates that no loader is available.
|
AgentBuilder.LambdaInstrumentationStrategy.LambdaMetafactoryFactory.Loader.UsingMethodHandleLookup
A loader that uses a method handle lookup object to load a class.
|
AgentBuilder.LambdaInstrumentationStrategy.LambdaMetafactoryFactory.Loader.UsingUnsafe
A loader that is using unsafe API to load a lambda implementation.
|
AgentBuilder.Listener
A listener that is informed about events that occur during an instrumentation process.
|
AgentBuilder.Listener.Adapter
An adapter for a listener where all methods are implemented as non-operational.
|
AgentBuilder.Listener.NoOp
A no-op implementation of a
AgentBuilder.Listener . |
AgentBuilder.Listener.StreamWriting
A listener that writes events to a
PrintStream . |
AgentBuilder.LocationStrategy
A strategy for creating a
ClassFileLocator when instrumenting a type. |
AgentBuilder.LocationStrategy.ForClassLoader
A location strategy that locates class files by querying an instrumented type's
ClassLoader . |
AgentBuilder.LocationStrategy.NoOp
A location strategy that never locates any byte code.
|
AgentBuilder.Matchable
An abstraction for extending a matcher.
|
AgentBuilder.PatchMode
Determines how patching a
ResettableClassFileTransformer resolves the transformer exchange. |
AgentBuilder.PatchMode.Handler
A handler to allow for callbacks prior and after registering a
ClassFileTransformer . |
AgentBuilder.PatchMode.Handler.NoOp
A non-operational handler.
|
AgentBuilder.PoolStrategy
A type locator allows to specify how
TypeDescription s are resolved by an AgentBuilder . |
AgentBuilder.PoolStrategy.ClassLoading
A type locator that attempts loading a type if it cannot be located by the underlying lazy type pool.
|
AgentBuilder.PoolStrategy.Default
A default type locator that resolves types only if any property that is not the type's name is requested.
|
AgentBuilder.PoolStrategy.Eager
A type locator that resolves all type descriptions eagerly.
|
AgentBuilder.PoolStrategy.WithTypePoolCache
A type locator that uses type pools but allows for the configuration of a custom cache provider by class loader.
|
AgentBuilder.PoolStrategy.WithTypePoolCache.Simple.BootstrapMarkerAction
An action that creates a class loader to mark the bootstrap loader without using
null . |
AgentBuilder.RawMatcher
A matcher that allows to determine if a
AgentBuilder.Transformer
should be applied during the execution of a ClassFileTransformer that was
generated by an AgentBuilder . |
AgentBuilder.RawMatcher.ForLoadState
A raw matcher indicating the state of a type's class loading.
|
AgentBuilder.RawMatcher.ForResolvableTypes
Only matches loaded types that can be fully resolved.
|
AgentBuilder.RawMatcher.Trivial
A matcher that always or never matches a type.
|
AgentBuilder.RedefinitionListenable
An agent builder configuration that allows the registration of listeners to the redefinition process.
|
AgentBuilder.RedefinitionListenable.ResubmissionImmediateMatcher
A matcher that determines if types should be resubmitted if it is not yet loaded.
|
AgentBuilder.RedefinitionListenable.ResubmissionImmediateMatcher.Trivial
A trivial matcher for immediate resubmission.
|
AgentBuilder.RedefinitionListenable.ResubmissionOnErrorMatcher
A matcher that determines if types should be resubmitted if it is not yet loaded and if an exception is raised.
|
AgentBuilder.RedefinitionListenable.ResubmissionOnErrorMatcher.Trivial
A trivial matcher for resubmission upon an exception.
|
AgentBuilder.RedefinitionListenable.WithImplicitDiscoveryStrategy
An agent builder configuration strategy that allows the definition of a discovery strategy.
|
AgentBuilder.RedefinitionListenable.WithoutBatchStrategy
An agent builder configuration that allows the configuration of a batching strategy.
|
AgentBuilder.RedefinitionListenable.WithoutResubmissionSpecification
An
AgentBuilder specification that requires a resubmission specification. |
AgentBuilder.RedefinitionListenable.WithResubmissionSpecification
A complete but extendable resubmission specification.
|
AgentBuilder.RedefinitionStrategy
A redefinition strategy regulates how already loaded classes are modified by a built agent.
|
AgentBuilder.RedefinitionStrategy.BatchAllocator
A batch allocator which is responsible for applying a redefinition in a batches.
|
AgentBuilder.RedefinitionStrategy.BatchAllocator.ForTotal
A batch allocator that includes all types in a single batch.
|
AgentBuilder.RedefinitionStrategy.Collector
A collector is responsible for collecting classes that are to be considered for modification.
|
AgentBuilder.RedefinitionStrategy.DiscoveryStrategy
A strategy for discovering types to redefine.
|
AgentBuilder.RedefinitionStrategy.DiscoveryStrategy.Reiterating
A discovery strategy that considers all loaded types supplied by
Instrumentation.getAllLoadedClasses() . |
AgentBuilder.RedefinitionStrategy.DiscoveryStrategy.Reiterating.WithSortOrderAssumption
A discovery strategy that simplifies the application of
AgentBuilder.RedefinitionStrategy.DiscoveryStrategy.Reiterating by assuming that the
loaded classes that are returned by Instrumentation.getAllLoadedClasses() are always
returned in the same order. |
AgentBuilder.RedefinitionStrategy.DiscoveryStrategy.SinglePass
A discovery strategy that considers all loaded types supplied by
Instrumentation.getAllLoadedClasses() . |
AgentBuilder.RedefinitionStrategy.Dispatcher
A dispatcher for interacting with the instrumentation API.
|
AgentBuilder.RedefinitionStrategy.Listener
A listener to be applied during a redefinition.
|
AgentBuilder.RedefinitionStrategy.Listener.Adapter
A listener adapter that offers non-operational implementations of all listener methods.
|
AgentBuilder.RedefinitionStrategy.Listener.ErrorEscalating
A listener that halts a retransformation process upon an exception.
|
AgentBuilder.RedefinitionStrategy.Listener.NoOp
A non-operational listener.
|
AgentBuilder.RedefinitionStrategy.Listener.Yielding
A listener that invokes
Thread.yield() prior to every batch but the first batch. |
AgentBuilder.RedefinitionStrategy.ResubmissionEnforcer
A resubmission enforcer determines if a non-loaded class should be scheduled for resubmission or be treated upon first load.
|
AgentBuilder.RedefinitionStrategy.ResubmissionEnforcer.Disabled
A resubmission enforcer that does not consider non-loaded classes.
|
AgentBuilder.RedefinitionStrategy.ResubmissionScheduler
A resubmission scheduler is responsible for scheduling a job that is resubmitting unloaded types that failed during retransformation.
|
AgentBuilder.RedefinitionStrategy.ResubmissionScheduler.Cancelable
A cancelable allows to discontinue a resubmission job.
|
AgentBuilder.RedefinitionStrategy.ResubmissionScheduler.Cancelable.NoOp
A non-operational cancelable.
|
AgentBuilder.RedefinitionStrategy.ResubmissionScheduler.NoOp
A resubmission scheduler that does not apply any scheduling.
|
AgentBuilder.RedefinitionStrategy.ResubmissionStrategy
A resubmission strategy is responsible for enabling resubmission of types that failed to resubmit.
|
AgentBuilder.RedefinitionStrategy.ResubmissionStrategy.Disabled
A disabled resubmission strategy.
|
AgentBuilder.RedefinitionStrategy.ResubmissionStrategy.Enabled.StorageKey
A key for a class loader that only weakly references the class loader.
|
AgentBuilder.RedefinitionStrategy.ResubmissionStrategy.Installation
Represents an installation of a resubmission strategy.
|
AgentBuilder.Transformer
A transformer allows to apply modifications to a
DynamicType . |
AgentBuilder.Transformer.ForAdvice
A transformer for applying an
Advice where this advice class might reference types of both the agent's and the user's
class loader. |
AgentBuilder.Transformer.ForAdvice.Entry
An entry for an advice to apply.
|
AgentBuilder.TransformerDecorator
A decorator that allows to change the class file transformer that is registered.
|
AgentBuilder.TransformerDecorator.ForSubstitution
Wraps a class file transformer to become substitutable.
|
AgentBuilder.TransformerDecorator.NoOp
A transformer decorator that retains the original transformer.
|
AgentBuilder.TypeStrategy
A type strategy is responsible for creating a type builder for a type that is being instrumented.
|
AgentBuilder.TypeStrategy.Default
Default implementations of type strategies.
|
LambdaFactory
This class serves as a dispatcher for creating lambda expression objects when Byte Buddy is configured to instrument the
java.lang.invoke.LambdaMetafactory . |
ResettableClassFileTransformer
A class file transformer that can reset its transformation.
|
ResettableClassFileTransformer.AbstractBase
An abstract base implementation of a
ResettableClassFileTransformer . |
ResettableClassFileTransformer.Substitutable
A
ResettableClassFileTransformer which allows for substitution the actual class file transformer without
changes in the order of the transformer chain. |
Copyright © 2014–2024. All rights reserved.