Package net.bytebuddy.dynamic.scaffold
@ByDefault
package net.bytebuddy.dynamic.scaffold
This package contains helper types and implementations that are responsible for the actual writing of a byte array
representing a Java class. These utilities allow to write a Java type in a more modular manner and take away
complexity from the actual implementations of
DynamicType.Builder
.-
ClassDescriptionA class writer strategy is responsible for the creation of a
ClassWriter
when creating a type.Default implementations of class writer strategies.A class writer that piggy-backs on Byte Buddy'sTypePool
to avoid class loading or look-up errors when redefining a class.A field locator offers an interface for locating a field that is declared by a specified type.An abstract base implementation of a field locator.A factory for creating aFieldLocator
.A field locator that looks up fields that are declared within a class's class hierarchy.A factory for creating aFieldLocator.ForClassHierarchy
.A field locator that only looks up fields that are declared by a specific type.A factory for creating aFieldLocator.ForExactType
.A field locator that only locates fields in the top-level type.A factory for locating a field in a top-level type.A field locator that never discovers a field.A resolution for a field lookup.An illegal resolution.A simple implementation for a field resolution.A field registry represents an extendable collection of fields which are identified by their names that are mapped to a givenFieldAttributeAppender
.Represents a compiled field registry.A no-op field registry that does not register annotations for any field.An immutable default implementation of a field registry.A compiled default field registry.An entry of a compiled field registry.An entry of the default field registry.Implementations of this interface represent an instrumented type that is subject to change.A default implementation of an instrumented type.A factory for creating anInstrumentedType
.Default implementations of instrumented type factories.A frozen representation of an instrumented type of which the structure must not be modified.Implementations are able to prepare anInstrumentedType
.A prepareable that does not alter the instrumented type.Implementations represent anInstrumentedType
with a flexible name.A method graph represents a view on a set of methods as they are seen from a given type.A compiler to produce aMethodGraph
from a given type.An abstract base implementation of a method graph compiler.A default implementation of a method graph.A harmonizer is responsible for creating a token that identifies a method's relevant attributes for considering two methods of being equal or not.A harmonizer for the Java programming language that identifies a method by its parameter types only.A token that identifies a Java method's type by its parameter types only.A harmonizer for the Java virtual machine's method dispatching rules that identifies a method by its parameter types and return type.A token that identifies a Java method's type by its parameter types and return type.A key represents a collection of methods within a method graph to later yield a node representing a collection of methods, i.e.A detached version of a key that identifies methods by their JVM signature, i.e.A harmonized key represents a key where equality is decided based on tokens that are returned by aMethodGraph.Compiler.Default.Harmonizer
.A store for collected methods that are identified by keys.An entry of a key store.An entry representing an ambiguous node resolution.A node implementation representing an ambiguous method resolution.An entry in its initial state before registering any method as a representative.An entry representing a non-ambiguous node resolution.A node implementation representing a non-ambiguous method.A graph implementation based on a key store.Implementations are responsible for identifying a representative method for aMethodGraph.Node
between several ambiguously resolved methods.A directional merger that always returns either the left or right method description.A flat compiler that simply returns the methods that are declared by the instrumented type.A canonical implementation of an empty method graph.A linked method graph represents a view that additionally exposes information of a given type's super type view and a view on this graph's directly implemented interfaces.A simple implementation of a linked method graph that exposes views by delegation to given method graphs.Represents a node within a method graph.A simple implementation of a resolved node of a method without bridges.Represents aMethodGraph.Node
's state.A canonical implementation of an unresolved node.A list of nodes.A simple implementation of a method graph.A method registry is responsible for storing information on how a method is intercepted.A compiled version of a method registry.A default implementation of a method registry.A compiled version of a default method registry.An entry of a compiled method registry.An entry of a default method registry.A prepared version of a default method registry.An entry of a prepared method registry.A handler for implementing a method.A compiled handler for implementing a method.A handler for defining an abstract or native method.A handler for defining a default annotation value for a method.A handler for a method that is implemented as byte code.A compiled handler for implementing a method.A handler for implementing a visibility bridge.A compiled handler for a visibility bridge handler.A method registry that fully prepared the instrumented type.A record component registry represents an extendable collection of record components which are identified by their names that are mapped to a givenRecordComponentAttributeAppender
.Represents a compiled record component registry.A no-op record component registry that does not register annotations for any record component.An immutable default implementation of a record component registry.A compiled default record component registry.An entry of a compiled record component registry.An entry of the default record component registry.A type initializer is responsible for defining a type's static initialization block.A drain for writing a type initializer.A default implementation of a type initializer drain that creates a initializer method.Canonical implementation of a non-defined type initializer.A simple, defined type initializer that executes a givenByteCodeAppender
.If type validation is enabled, Byte Buddy performs several checks to ensure that a generated class file is specified in a valid manner.TypeWriter<T>A type writer is a utility for writing an actual class file using the ASM library.A default implementation of aTypeWriter
.An action to write a class file to the dumping location.A dispatcher for dumping class files to the file system.A disabled dispatcher that does not dump any class files.An enabled dispatcher that dumps class files to a given folder.A type writer that creates a class file that is not based upon another, existing class.A type writer that inlines the created type into an existing class file.A context registry allows to extract auxiliary types from a lazily created implementation context.A default type writer that only applies a type decoration.A field list that only reads fields lazy to avoid an eager lookup since fields are often not required.A default type writer that reprocesses a type completely.An initialization handler is responsible for handling the creation of the type initializer.An initialization handler that appends code to a previously visited type initializer.A frame writer is responsible for adding empty frames on jump instructions.TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending.FrameWriter.ActiveAn active frame writer that creates the most efficient frame.A frame writer that creates an expanded frame.A non-operational frame writer.An initialization handler that appends code to a previously visited type initializer with allowing activeTypeInitializer
registrations.A code appending initialization handler with a drain that applies an explicit record.A code appending initialization handler with a drain that does not apply an explicit record.An initialization handler that appends code to a previously visited type initializer without allowing activeTypeInitializer
registrations.An initialization handler that appends code to a previously visited type initializer without allowing activeTypeInitializer
registrations and with an active record.An initialization handler that appends code to a previously visited type initializer without allowing activeTypeInitializer
registrations and without an active record.An initialization handler that creates a new type initializer.AClassRemapper
that uses the Byte Buddy-defined API version.A key to represent a unique signature.A class validator that validates that a class only defines members that are appropriate for the sort of the generated class.A constraint for members that are legal for a given type.A constraint implementation that summarizes several constraints.Represents the constraint of an annotation type.Represents the constraint of a class type.Represents the constraint implied by a class file version.Represents the constraint of an interface type.Represents the constraint of a package type.Represents the constraint of a record type.An field pool that allows a lookup for how to implement a field.A field pool that does not allow any look ups.An entry of a field pool that describes how a field is implemented.A record for a rich field with attributes and a potential default value.A record for a simple field without a default value where all of the field's declared annotations are appended.An method pool that allows a lookup for how to implement a method.An entry of a method pool that describes how a method is implemented.A wrapper that appends accessor bridges for a method's implementation.A method representing an accessor bridge method.A method representing a bridge's target method in its defined shape.A base implementation of an abstract entry that defines a method.A record for a visibility bridge.A method describing a visibility bridge.Describes an entry that defines a method with a default annotation value.Describes an entry that defines a method as byte code.Describes an entry that defines a method but without byte code and without an annotation value.A canonical implementation of a method that is not declared but inherited by the instrumented type.The sort of an entry.An record component pool that allows a lookup for how to implement a record component.A record component pool that does not allow any look ups.An entry of a record component pool that describes how a record component is implemented.A record for a rich record component with attributes.A record for a simple field without a default value where all of the record component's declared annotations are appended.