| Package | Description | 
|---|---|
| net.bytebuddy.dynamic.scaffold.inline | All classes and types in this package are related to creating a  DynamicTypeby
 enhancing a given type. | 
| net.bytebuddy.instrumentation | The instrumentation package contains any logic for intercepting method calls. | 
| net.bytebuddy.instrumentation.method.bytecode | Types and classes in this package are responsible for creating Java byte code for a given byte code target
 which is represented by a  MethodDescription. | 
| net.bytebuddy.instrumentation.method.bytecode.bind | The types and classes of this package are responsible for binding a method call to calling another method. | 
| net.bytebuddy.instrumentation.method.bytecode.bind.annotation | This package contains annotations, types and classes that are responsible for binding a method to calling another
 method by interpreting annotations that indicate how a method should be bound to another method. | 
| net.bytebuddy.instrumentation.method.bytecode.stack | This package offers an abstraction of creating Java byte code by only manipulating a method's operand stack. | 
| net.bytebuddy.instrumentation.method.bytecode.stack.assign | An  Assigneris responsible for transforming
 a givenTypeDescriptioninto another one. | 
| net.bytebuddy.instrumentation.method.bytecode.stack.assign.primitive | Assignerimplementations of this package
 are capable of handling primitive types or thevoidtype. | 
| net.bytebuddy.instrumentation.method.bytecode.stack.assign.reference | Assignerimplementations of this package
 are capable of assigning non-primitive types to each other. | 
| net.bytebuddy.instrumentation.method.bytecode.stack.collection | This package is dedicated to creating  StackManipulations
 that create collections or arrays from a given number of values. | 
| net.bytebuddy.instrumentation.method.bytecode.stack.constant | StackManipulations in this package are responsible for
 creating compile-time constants and pushing them onto the operand stack. | 
| net.bytebuddy.instrumentation.method.bytecode.stack.member | StackManipulations of this package are responsible for
 accessing type or method members, i.e. | 
| net.bytebuddy.instrumentation.type.auxiliary | Auxiliary types describe helper types that aid as a supplementary to a given
  InstrumentedType. | 
| Modifier and Type | Class and Description | 
|---|---|
| protected static class  | RebaseInstrumentationTarget.RebasedMethodSpecialMethodInvocationA  Instrumentation.SpecialMethodInvocationwhich invokes a rebased method
 as given by aMethodRebaseResolver. | 
| Modifier and Type | Method and Description | 
|---|---|
| StackManipulation | MethodRebaseResolver.Resolution. getAdditionalArguments()A rebased method might require additional arguments in order to create a distinct signature. | 
| StackManipulation | MethodRebaseResolver.Resolution.Preserved. getAdditionalArguments() | 
| StackManipulation | MethodRebaseResolver.Resolution.ForRebasedMethod. getAdditionalArguments() | 
| StackManipulation | MethodRebaseResolver.Resolution.ForRebasedConstructor. getAdditionalArguments() | 
| Modifier and Type | Interface and Description | 
|---|---|
| static interface  | Instrumentation.SpecialMethodInvocationRepresents an 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. | 
| Modifier and Type | Class and Description | 
|---|---|
| static class  | Instrumentation.SpecialMethodInvocation.IllegalA canonical implementation of an illegal  Instrumentation.SpecialMethodInvocation. | 
| static class  | Instrumentation.SpecialMethodInvocation.SimpleA canonical implementation of a  Instrumentation.SpecialMethodInvocation. | 
| Modifier and Type | Method and Description | 
|---|---|
| StackManipulation | Instrumentation.Context.ExtractableView.InjectedCode. getInjectedCode()Returns the injected code. | 
| StackManipulation | Instrumentation.Context.ExtractableView.InjectedCode.None. getInjectedCode() | 
| StackManipulation | MethodDelegation.InstrumentationDelegate. getPreparingStackAssignment(TypeDescription instrumentedType)Returns the stack manipulation responsible for preparing the instance representing the instrumentation. | 
| StackManipulation | MethodDelegation.InstrumentationDelegate.ForStaticMethod. getPreparingStackAssignment(TypeDescription instrumentedType) | 
| StackManipulation | MethodDelegation.InstrumentationDelegate.ForStaticFieldInstance. getPreparingStackAssignment(TypeDescription instrumentedType) | 
| StackManipulation | MethodDelegation.InstrumentationDelegate.ForInstanceField. getPreparingStackAssignment(TypeDescription instrumentedType) | 
| StackManipulation | MethodDelegation.InstrumentationDelegate.ForConstruction. getPreparingStackAssignment(TypeDescription instrumentedType) | 
| StackManipulation | Forwarding.PreparationHandler. loadFieldOwner()Creates a stack manipulation for loading the field owner onto the operand stack. | 
| StackManipulation | Forwarding.PreparationHandler.ForInstanceField. loadFieldOwner() | 
| StackManipulation | Forwarding.PreparationHandler.ForStaticField. loadFieldOwner() | 
| StackManipulation | Forwarding.PreparationHandler.ForStaticInstance. loadFieldOwner() | 
| StackManipulation | ExceptionMethod.ConstructionDelegate. make()Creates a stack manipulation that creates pushes all constructor arguments onto the operand stack
 and subsequently calls the constructor. | 
| StackManipulation | ExceptionMethod.ConstructionDelegate.ForDefaultConstructor. make() | 
| StackManipulation | ExceptionMethod.ConstructionDelegate.ForStringConstructor. make() | 
| Modifier and Type | Method and Description | 
|---|---|
| protected ByteCodeAppender.Size | InvocationHandlerAdapter. apply(org.objectweb.asm.MethodVisitor methodVisitor,
     Instrumentation.Context instrumentationContext,
     MethodDescription instrumentedMethod,
     TypeDescription instrumentedType,
     StackManipulation preparingManipulation)Applies an instrumentation that delegates to a invocation handler. | 
| protected ByteCodeAppender.Size | FixedValue. apply(org.objectweb.asm.MethodVisitor methodVisitor,
     Instrumentation.Context instrumentationContext,
     MethodDescription instrumentedMethod,
     TypeDescription fixedValueType,
     StackManipulation valueLoadingInstruction)Blueprint method that for applying the actual instrumentation. | 
| FieldDescription | Instrumentation.Context. cache(StackManipulation fieldValue,
     TypeDescription fieldType)Caches a single value by storing it in form of a  private,finalandstaticfield. | 
| FieldDescription | Instrumentation.Context.Default. cache(StackManipulation fieldValue,
     TypeDescription fieldType) | 
| Constructor and Description | 
|---|
| ForPoolValue(StackManipulation valueLoadInstruction,
            Class<?> loadedType,
            Assigner assigner,
            boolean considerRuntimeType)Creates a new constant pool fixed value instrumentation. | 
| Constructor and Description | 
|---|
| Simple(StackManipulation... stackManipulation)Creates a new simple byte code appender which represents the given stack manipulation. | 
| Modifier and Type | Interface and Description | 
|---|---|
| static interface  | MethodDelegationBinder.MethodBindingA binding attempt created by a
  MethodDelegationBinder. | 
| static interface  | MethodDelegationBinder.ParameterBinding<T>A binding attempt for a single parameter. | 
| Modifier and Type | Class and Description | 
|---|---|
| static class  | MethodDelegationBinder.MethodBinding.IllegalRepresentation of an attempt to bind a source method to a target method that is not applicable. | 
| static class  | MethodDelegationBinder.ParameterBinding.AnonymousAn anonymous binding of a target method parameter. | 
| static class  | MethodDelegationBinder.ParameterBinding.IllegalA singleton representation of an illegal binding for a method parameter. | 
| static class  | MethodDelegationBinder.ParameterBinding.Unique<T>A uniquely identifiable parameter binding for a target method. | 
| Modifier and Type | Method and Description | 
|---|---|
| StackManipulation | MethodDelegationBinder.MethodInvoker. invoke(MethodDescription methodDescription)Creates a method invocation for a given method. | 
| StackManipulation | MethodDelegationBinder.MethodInvoker.Simple. invoke(MethodDescription methodDescription) | 
| StackManipulation | MethodDelegationBinder.MethodInvoker.Virtual. invoke(MethodDescription methodDescription) | 
| Modifier and Type | Method and Description | 
|---|---|
| MethodDelegationBinder.MethodBinding | MethodDelegationBinder.MethodBinding.Builder. build(StackManipulation returnValueStackManipulation)Creates a binding that represents the bindings collected by this  Builder. | 
| static <S> MethodDelegationBinder.ParameterBinding.Unique<S> | MethodDelegationBinder.ParameterBinding.Unique. of(StackManipulation delegate,
  S identificationToken)A factory method for creating a unique binding that infers the tokens type. | 
| Constructor and Description | 
|---|
| Anonymous(StackManipulation delegate)Creates a new, anonymous parameter binding. | 
| Unique(StackManipulation delegate,
      T identificationToken)Creates a new unique parameter binding representant. | 
| Modifier and Type | Class and Description | 
|---|---|
| protected static class  | Pipe.Binder.RedirectionAn auxiliary type for performing the redirection of a method invocation as requested by the
  Pipeannotation. | 
| Modifier and Type | Method and Description | 
|---|---|
| protected abstract StackManipulation | Super.Instantiation. proxyFor(TypeDescription parameterType,
        Instrumentation.Target instrumentationTarget,
        Super annotation)Creates a stack manipulation which loads a  super-call proxy onto the stack. | 
| Modifier and Type | Class and Description | 
|---|---|
| class  | DuplicationDuplicates a value that is lying on top of the stack. | 
| static class  | StackManipulation.CompoundAn immutable stack manipulation that aggregates a sequence of other stack manipulations. | 
| static class  | StackManipulation.IllegalCanonical representation of an illegal stack manipulation. | 
| static class  | StackManipulation.LegalTrivialCanonical representation of a legal stack manipulation which does not require any action. | 
| class  | ThrowThrows a  Throwablewhich must lie on top of the stack when this stack manipulation is called. | 
| class  | TypeCreationA stack manipulation for creating an undefined type on which a constructor is to be called. | 
| Modifier and Type | Method and Description | 
|---|---|
| static StackManipulation | Duplication. duplicate(TypeDescription typeDescription)Duplicates a value given its type. | 
| static StackManipulation | TypeCreation. forType(TypeDescription typeDescription)Creates a type creation for the given type. | 
| Constructor and Description | 
|---|
| Compound(StackManipulation... stackManipulation)Creates a new compound stack manipulation. | 
| Modifier and Type | Method and Description | 
|---|---|
| StackManipulation | Assigner. assign(TypeDescription sourceType,
      TypeDescription targetType,
      boolean considerRuntimeType) | 
| Modifier and Type | Class and Description | 
|---|---|
| class  | PrimitiveUnboxingDelegateThis delegate is responsible for unboxing a wrapper type to their primitive equivalents. | 
| Modifier and Type | Method and Description | 
|---|---|
| StackManipulation | VoidAwareAssigner. assign(TypeDescription sourceType,
      TypeDescription targetType,
      boolean considerRuntimeType) | 
| StackManipulation | PrimitiveTypeAwareAssigner. assign(TypeDescription sourceType,
      TypeDescription targetType,
      boolean considerRuntimeType) | 
| StackManipulation | PrimitiveBoxingDelegate. assignBoxedTo(TypeDescription targetType,
             Assigner chainedAssigner,
             boolean considerRuntimeType)Creates a stack manipulation that boxes the represented primitive type and applies a chained assignment
 to the result of this boxing operation. | 
| StackManipulation | PrimitiveUnboxingDelegate.UnboxingResponsible. assignUnboxedTo(TypeDescription targetType,
               Assigner assigner,
               boolean considerRuntimeType)Attempts to unbox the represented type in order to assign the unboxed value to the given target type
 while using the assigner that is provided by the method call. | 
| StackManipulation | PrimitiveWideningDelegate. widenTo(TypeDescription typeDescription)Attempts to widen the represented type into another type. | 
| Modifier and Type | Class and Description | 
|---|---|
| class  | DownCastingA stack manipulation for a type down casting. | 
| Modifier and Type | Method and Description | 
|---|---|
| StackManipulation | ReferenceTypeAwareAssigner. assign(TypeDescription sourceType,
      TypeDescription targetType,
      boolean considerRuntimeType) | 
| Modifier and Type | Interface and Description | 
|---|---|
| protected static interface  | ArrayFactory.ArrayCreatorAn array creator is responsible for providing correct byte code instructions for creating an array
 and for storing values into it. | 
| Modifier and Type | Class and Description | 
|---|---|
| static class  | ArrayFactory.ArrayCreator.PrimitiveAn array creator implementation for primitive types. | 
| static class  | ArrayFactory.ArrayCreator.ReferenceAn array creator implementation for reference types. | 
| Modifier and Type | Method and Description | 
|---|---|
| StackManipulation | CollectionFactory. withValues(List<StackManipulation> stackManipulations)Applies this collection factory in order to build a new collection where each element is represented by
 the given stack manipulations. | 
| StackManipulation | ArrayFactory. withValues(List<StackManipulation> stackManipulations) | 
| Modifier and Type | Method and Description | 
|---|---|
| StackManipulation | CollectionFactory. withValues(List<StackManipulation> stackManipulations)Applies this collection factory in order to build a new collection where each element is represented by
 the given stack manipulations. | 
| StackManipulation | ArrayFactory. withValues(List<StackManipulation> stackManipulations) | 
| Modifier and Type | Interface and Description | 
|---|---|
| static interface  | MethodConstant.CanCacheRepresents a  MethodConstantthat is
 directly loaded onto the operand stack without caching the value. | 
| Modifier and Type | Class and Description | 
|---|---|
| class  | ClassConstantRepresents a constant representing any loaded Java  Class. | 
| class  | DefaultValueRepresents a stack assignment that loads the default value of a given type onto the stack. | 
| class  | DoubleConstantThis class is responsible for loading any  doubleconstant onto the operand stack. | 
| class  | FloatConstantThis class is responsible for loading any  floatconstant onto the operand stack. | 
| class  | IntegerConstantThis class is responsible for loading any  intconstant onto the operand stack. | 
| class  | LongConstantThis class is responsible for loading any  longconstant onto the operand stack. | 
| class  | MethodConstantRepresents the creation of a  Methodvalue which can be created from a given
 set of constant pool values and can therefore be considered a constant in the broader meaning. | 
| class  | MethodHandleConstantA constant for a Java 7  java.lang.invoke.MethodHandle. | 
| class  | MethodTypeConstantA constant for a Java 7  java.lang.invoke.MethodType. | 
| class  | NullConstantRepresents a stack manipulation to load a  nullpointer onto the operand stack. | 
| class  | TextConstantRepresents a  Stringvalue that is stored in a type's constant pool. | 
| Modifier and Type | Method and Description | 
|---|---|
| StackManipulation | MethodConstant. cached()Returns a cached version of this method constant as specified by
  MethodConstant.Cached. | 
| StackManipulation | MethodConstant.CanCache. cached()Returns this method constant as a cached version. | 
| static StackManipulation | IntegerConstant. forValue(boolean value)Creates a stack manipulation for loading a boolean value onto the stack. | 
| static StackManipulation | DoubleConstant. forValue(double value)Creates a stack manipulation for loading a  doublevalue onto the operand stack. | 
| static StackManipulation | FloatConstant. forValue(float value)Creates a stack manipulation for loading a  floatvalue onto the operand stack. | 
| static StackManipulation | IntegerConstant. forValue(int value)Creates a stack manipulation for loading an  intvalue onto the stack. | 
| static StackManipulation | LongConstant. forValue(long value)Creates a stack manipulation for loading a  longvalue onto the operand stack. | 
| static StackManipulation | MethodHandleConstant. of(MethodDescription methodDescription)Creates a method handle for a method. | 
| static StackManipulation | DefaultValue. of(TypeDescription typeDescription)Creates a stack assignment that loads the default value for a given type. | 
| static StackManipulation | ClassConstant. of(TypeDescription typeDescription)Returns a stack manipulation that loads a  Classtype onto the operand stack which
 represents the given type. | 
| static StackManipulation | MethodHandleConstant. ofGetter(FieldDescription fieldDescription)Creates a method handle for a field getter. | 
| static StackManipulation | MethodHandleConstant. ofPutter(FieldDescription fieldDescription)Creates a method handle for a field putter. | 
| Modifier and Type | Interface and Description | 
|---|---|
| static interface  | MethodInvocation.WithImplicitInvocationTargetTypeRepresents a method invocation where the invocation type (static, virtual, special, interface) is derived
 from the given method's description. | 
| Modifier and Type | Class and Description | 
|---|---|
| class  | MethodReturnA stack manipulation returning a value of a given type. | 
| Modifier and Type | Method and Description | 
|---|---|
| static StackManipulation | MethodVariableAccess. forBridgeMethodInvocation(MethodDescription bridgeMethod,
                         MethodDescription targetMethod)Creates a stack manipulation for loading all parameters of a Java bridge method onto the operand stack where
 all variables of the bridge method are casted to the parameter types of the target method. | 
| StackManipulation | FieldAccess.Defined. getter()Creates a getter representation for a given field. | 
| static StackManipulation | MethodVariableAccess. loadArguments(MethodDescription methodDescription)Loads all method arguments for a given method onto the operand stack. | 
| StackManipulation | MethodVariableAccess. loadFromIndex(int variableOffset)Creates a stack assignment for a given index of the local variable array. | 
| static StackManipulation | MethodVariableAccess. loadThisReferenceAndArguments(MethodDescription methodDescription)Loads all method arguments for a given method onto the operand stack, including a reference to  this,
 if the method is non-static. | 
| StackManipulation | FieldAccess.Defined. putter()Creates a putter representation for a given field. | 
| static StackManipulation | MethodReturn. returning(TypeDescription typeDescription)Returns a method return corresponding to a given type. | 
| StackManipulation | MethodInvocation.WithImplicitInvocationTargetType. special(TypeDescription invocationTarget)Transforms this method invocation into a special invocation on the given type. | 
| StackManipulation | MethodInvocation.WithImplicitInvocationTargetType. virtual(TypeDescription invocationTarget)Transforms this method invocation into a virtual (or interface) method invocation on the given type. | 
| Modifier and Type | Class and Description | 
|---|---|
| static class  | MethodCallProxy.AssignableSignatureCallA stack manipulation that creates a  MethodCallProxyfor a given method an pushes such an object onto the call stack. | 
| static class  | TypeProxy.ByConstructorLoads a type proxy onto the operand stack which is created by calling one of its constructors. | 
| static class  | TypeProxy.ByReflectionFactoryLoads a type proxy onto the operand stack which is created by constructing a serialization constructor using
 the Oracle JDK's  ReflectionFactory.newConstructorForSerialization(Class, java.lang.reflect.Constructor)method which might not be available in any Java runtime. | 
Copyright © 2014. All rights reserved.