Package net.bytebuddy.implementation
@ByDefault
package net.bytebuddy.implementation
The implementation package contains any logic for intercepting method calls.
-
ClassDescriptionThis
Implementation
invokes a default method for the methods it instruments.The appender for implementing aDefaultMethodCall
.An implementation ofObject.equals(Object)
that takes a class's declared fields into consideration.A byte code appender to implement theEqualsMethod
.A compound comparator that compares the values of multiple fields.A conditional return aborts the equality computation if a given condition was reached.A comparator that retains the natural order.Guards a field value against a potentialnull
value.A non-operational null value guard.A null value guard that expects a reference type and that skips the comparison if both values arenull
but returns if the invoked instance's field value isnull
but not the compared instance's value.Checks the equality contract against the super class.Checks the overall type of the provided argument.A comparator that sorts fields by a type property.A value comparator is responsible to compare to values of a given type.This implementation causes aThrowable
to be thrown when the instrumented method is invoked.A construction delegate is responsible for calling aThrowable
's constructor.A construction delegate that calls the default constructor.A construction delegate that calls a constructor that takes a single string as its argument.Defines a method to access a given field by following the Java bean conventions for getters and setters:A field accessor that can be configured to use a given assigner and runtime type use configuration.A field location represents an identified field description which depends on the instrumented type and method.An absolute field description representing a previously resolved field.A prepared field location.A relative field location where a field is located dynamically.A prepared version of a field location.A field name extractor is responsible for determining a field name to a method that is implemented to access this method.AFieldAccessor.FieldNameExtractor
that determines a field name according to the rules of Java bean naming conventions.A field name extractor that returns a fixed value.A field accessor for an implicit property where a getter or setter property is inferred from the signature.A field accessor for a field setter.An instrumentation that sets a constant value to a field.A setter instrumentation that sets anull
or a primitive type's default value.A setter that reads a value of another field and sets this value.A setter instrumentation for a parameter value.An instrumentation that sets a field to a reference value that is stored in a static field of the instrumented type.A termination handler is responsible for handling a field accessor's return.A field accessor that can be configured to locate a field in a specific manner.A field accessor that allows to define the access to be a field write of a given argument.This implementation returns a fixed value for a method.Represents a fixed value implementation that is using a default assigner for attempting to assign the fixed value to the return type of the instrumented method.A fixed value implementation that returns a method's argument.A fixed value implementation that represents its fixed value as a constant pool value or a byte code instruction.A fixed value ofnull
.A fixed value that appends the origin type of the instrumented type.A fixed value ofthis
.A byte code appender for returningthis
.A fixed value implementation that represents its fixed value as a static field of the instrumented class.An implementation ofObject.hashCode()
that takes a class's declared fields into consideration.A byte code appender to implement a hash code method.A guard againstnull
values for fields with reference types.A non-operational null value guard.A null value guard that expects a reference type and that uses a jump if a field value isnull
.An offset provider is responsible for supplying the initial hash code.An offset provider that uses the instance's class's hash code.An offset provider that supplies a fixed value.An offset provider that uses the instrumented type's class constant's hash code.An offset provider that invokes the super class'sObject.hashCode()
implementation.A value transformer that is responsible for resolving a field value to anint
value.An implementation is responsible for implementing methods of a dynamically created type as byte code.Represents an implementation that can be chained together with another implementation.A compound implementation that allows to combine several implementations.A compound implementation that allows to combine several implementations and that isImplementation.Composable
.The context for an implementation application.A default implementation of anImplementation.Context.ExtractableView
which serves as its ownMethodAccessorFactory
.A base implementation of a method that accesses a property of an instrumented type.A description of an accessor method to access another method from outside the instrumented type.An implementation of aTypeWriter.MethodPool.Record
for implementing an accessor method.A description of a field that stores a cached value.An abstract method pool entry that delegates the implementation of a method to itself.A factory for creating aImplementation.Context.Default
that uses a random suffix for accessors.A factory for creating aImplementation.Context.Default
that uses a given suffix for accessors.A field cache entry for uniquely identifying a cached field.A description of a field getter method.An implementation for a field getter.A description of a field setter method.An implementation for a field setter.An implementation context that does not allow for any injections into the static initializer block.A factory for creating aImplementation.Context.Disabled
.Represents an extractable view of anImplementation.Context
which allows the retrieval of any registered auxiliary type.An abstract base implementation of an extractable view of an implementation context.A factory for creating a new implementation context.Indicates the frame generation being applied.A simple implementation that does not register any members with the instrumented type.A dispatcher for a simpleImplementation
, typically implemented as a lambda expression.AByteCodeAppender
for a dispatcher.Represents a type-specific method invocation on the current instrumented type which is not legal from outside the type such as a super method or default method invocation.An abstract base implementation of a valid special method invocation.A canonical implementation of an illegalImplementation.SpecialMethodInvocation
.A canonical implementation of aImplementation.SpecialMethodInvocation
.The target of an implementation.An abstract base implementation for anImplementation.Target
.Determines if default method invocations are possible.A factory for creating anImplementation.Target
.An adapter for adapting anInvocationHandler
.Allows for the configuration of anAssigner
of anInvocationHandlerAdapter
.An implementation of anInvocationHandlerAdapter
that delegates method invocations to an adapter that is stored in an instance field.An implementation of anInvocationHandlerAdapter
that delegates method invocations to an adapter that is stored in a static field.Allows the configuration of privileged lookup for the resolution ofMethod
constants that are provided to the invocation handler.An implementation that applies a dynamic method invocation.An abstract delegator that allows to specify a configuration for any specification of an argument.An invocation provider is responsible for loading the arguments of the invoked method onto the operand stack and for creating the actual invoke dynamic instruction.An argument provider is responsible for loading arguments to a bootstrapped method onto the operand stack and providing the types of these arguments.Represents wrapper types and types that could be stored in a class's constant pool as such constant pool values.An argument provider for aboolean
value.An argument provider for abyte
value.An argument provider for achar
value.An argument provider for aClass
constant.An argument provider for adouble
value.An argument provider for anEnum
constant.Provides an argument from an existing field.An argument provider for a field value with an explicit type.An argument provider for afloat
value.An argument provider for a value that is stored in a randomly named static field.An argument provider for aint
value.An argument provider that loads a reference to the intercepted instance and all arguments of the intercepted method.An argument provider that loads all arguments of the intercepted method.An argument provider for a Java instance.An argument provider for along
value.An argument provider that loads an argument of the intercepted method.An argument provider for a method parameter with an explicit type.An argument provider for thenull
value.An argument provider for ashort
value.An argument provider for aString
value.An argument provider that loads the intercepted instance.A simple implementation of a resolved argument provider.An invocation provider that requests a synthetic dynamic invocation where all arguments are explicitly provided by the user.A target for a synthetically bound method call.Provides the name of the method that is to be bound by a dynamic method call.A name provider that provides an explicit name.A name provider that provides the name of the intercepted method.Provides the return type that is requested from the bootstrap method.Requests an explicit return type.Requests the return type of the intercepted method.A target for a dynamic method invocation.Represents a resolvedInvokeDynamic.InvocationProvider.Target
.A simple implementation ofInvokeDynamic.InvocationProvider.Target.Resolved
.A termination handler is responsible to handle the return value of a method that is invoked via aInvokeDynamic
.Representation of anInvokeDynamic
implementation where the bootstrapped method is passed athis
reference, if available, and any arguments of the instrumented method.Representation of anInvokeDynamic
implementation where the bootstrapped method is passed athis
reference, if available, and any arguments of the instrumented method and where the invocation target is implicit.AnInvokeDynamic
invocation where the last argument is assigned its implicit type.An invoke dynamic implementation where the last argument is an implicitly typed method argument.An invoke dynamic implementation where the last argument is an implicitly typed field value.A step in the invoke dynamic domain specific language that allows to explicitly specify a field type for a reference value.Implementations of this interface explicitly initialize a loaded type.A compound loaded type initializer that combines several type initializers.A type initializer for setting a value for a static field.A loaded type initializer that does not do anything.A factory for creating method proxies for an auxiliary type.Indicates the type of access to an accessor method.A method accessor factory that forbids any accessor registration.ThisImplementation
allows the invocation of a specified method while providing explicit arguments to this method.An argument loader is responsible for loading an argument for an invoked method onto the operand stack.An argument provider is responsible for providing an argument loader for each argument to supply to a method.A factory that producesMethodCall.ArgumentLoader
s for a given instrumented method.Loads the value of an existing field onto the operand stack.An argument provider for a field access.A factory for an argument loaded that loads the value of an existing field as an argument.Loads a value onto the operand stack that is stored in a static field.A factory that supplies the value of a static field as an argument.Loads the instrumented type onto the operand stack.A factory for an argument loader that supplies the instrumented type as an argument.Loads the return value of a method call onto the operand stack.An argument provider for a method call.A factory for an argument loaded that loads the return value of a method call as an argument.Loads a parameter of the instrumented method onto the operand stack.A factory for an argument loader that supplies a method parameter as an argument.A factory for argument loaders that supplies all arguments of the instrumented method as arguments.Loads an array containing all arguments of a method.A factory that creates an arguments loader that loads all parameters of the instrumented method contained in an array.An argument loader that loads an element of a parameter of an array type.An argument loader factory that loads an array element from a parameter for each argument of the invoked method.Creates an argument loader for an array element that of a specific parameter.An argument loader that loads thenull
value onto the operand stack.Loads a stack manipulation resulting in a specific type as an argument.An argument loader that assigns thethis
reference to a parameter.A factory for an argument loader that supplies thethis
value as an argument.AMethodCall
that sets the call's result as the value of a field.A byte code appender to implement a field-setting method call.A method invoker is responsible for creating a method invocation that is to be applied by aMethodCall
.A factory for creating a method invoker.Applies a contextual invocation of the provided method, i.e.A factory for creating a contextual method invoker.Invokes a method as a Java 8 default method.A factory for creating a method invoker for a default method invocation.Applies a super method invocation of the provided method.A method invoker factory for a super method invocation.Applies a virtual invocation on a given type.A method invoker factory for a virtual method invocation.A method invoker for a virtual method that uses an implicit target type.A method locator is responsible for identifying the method that is to be invoked by aMethodCall
.A factory for creating a method locator.A method locator that identifies a unique virtual method.A factory for a method locator that uses a matcher on the instrumented type's available methods for identifing a target method.Invokes a given method.A method locator that simply returns the intercepted method.A target handler is responsible for invoking a method for aMethodCall
.A factory for creating a target handler.Invokes a method in order to construct a new instance.A target handler factory for a constructor invocation.Creates a target handler that stores the instance to invoke a method on in an instance field.A factory for a field access.A location of a field.An explicit field location.An implicit field location.A target handler that executes the method and uses it's return value as the target object.Creates a factory for invoking a method on the return type of another method.A resolved target handler for a method call.A target handler that loads the parameter of the given index as the target object.A resolved target handler for a method parameter.A target handler that invokes a method either on the instance of the instrumented type or as a static method.A factory for invoking a static method or a self-declared method.A resolved target handler for a static or self-declared invocation.A target handler that invokes a method on an instance that is stored in a static field.A factory for a target handler that loads a specific value.A resolved target handler.A simple target handler that applies a given stack manipulation.A termination handler is responsible to handle the return value of a method that is invoked via aMethodCall
.A factory for creating a termination handler.A termination handler that sets a field.A factory for a field-setting termination handler that locates a given field.A factory for a field-setting termination handler that uses a matcher to locate the target field on the insturmented type.Simple termination handler implementations.Represents aMethodCall
that invokes a method without specifying an invocation method.This implementation delegates a method call to another method which can either bestatic
by providing a reference to aClass
or an instance method when another object is provided.The appender for implementing aMethodDelegation
.An implementation delegate is responsible for executing the actual method delegation and for resolving the target methods.A compiled implementation delegate.A compiled implementation delegate for a constructor delegation.A compiled implementation delegate that invokes methods on a field.A compiled implementation delegate that invokes a method on an instance that is returned by another method.A compiled implementation delegate for invoking a static method.An implementation delegate for constructing an instance.An implementation delegate for invoking methods on a field that is declared by the instrumented type or a super type.An implementation target for a static field that is declared by the instrumented type and that is assigned an instance.An implementation target for a field that is declared by the instrumented type or a super type.An implementation delegate for invoking a delegation target on the another methods return value.An implementation delegate for a static method delegation.AMethodDelegation
with custom configuration.This implementation creates a method stub which does nothing but returning the default value of the return type of the method.This implementation will create a new method which simply calls its super method.An appender for implementing aSuperMethodCall
.A handler that determines how to handle the method return value.A super method invocation where the return value is dropped instead of returning from the method.An implementation ofObject.toString()
that concatenates theString
representation of all fields that are declared by a class.An appender to implementToStringMethod
.A prefix resolver is responsible for providing a value that is prepended to aObject.toString()
implementation.Default implementations for a prefix resolver.A prefix resolver that returns a fixed value.A value consumer that is responsible for adding a field value to the string creatingStringBuilder
.