Top Description Inners Methods
net.bytebuddy.implementation.bind

public Interface MethodDelegationBinder

Known Direct Implementers
net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder
Imports
edu.umd.cs.findbugs.annotations.SuppressFBWarnings, net.bytebuddy.build.HashCodeAndEqualsPlugin, net.bytebuddy.description.method.MethodDescription, net.bytebuddy.description.type.TypeDescription, net.bytebuddy.implementation.Implementation, net.bytebuddy.implementation.bind.annotation.BindingPriority, net.bytebuddy.implementation.bytecode.Removal, .StackManipulation, net.bytebuddy.implementation.bytecode.assign.Assigner, net.bytebuddy.implementation.bytecode.member.MethodInvocation, .MethodReturn, net.bytebuddy.utility.CompoundList, net.bytebuddy.utility.nullability.MaybeNull, net.bytebuddy.jar.asm.MethodVisitor, java.io.PrintStream, java.util.*

A method delegation binder is responsible for creating a method binding for a source method to a target method. Such a binding allows to implement the source method by calling the target method.

 

Usually, an implementation will attempt to bind a specific source method to a set of target method candidates where all legal bindings are considered for binding. To chose a specific candidate, an net.bytebuddy.implementation.bind.MethodDelegationBinder.AmbiguityResolver will be consulted for selecting a best binding.

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static interface
MethodDelegationBinder.AmbiguityResolver

Implementations of this interface are able to attempt the resolution of two successful bindings of a method to two different target methods in order to identify a dominating binding.

public static interface
MethodDelegationBinder.BindingResolver

A binding resolver is responsible to choose a method binding between several possible candidates.

public static interface
public static interface
MethodDelegationBinder.MethodInvoker

Implementations are used as delegates for invoking a method that was bound using a net.bytebuddy.implementation.bind.MethodDelegationBinder.

public static interface
MethodDelegationBinder.ParameterBinding<
The type of the identification token for this parameter binding.
T
>

A binding attempt for a single parameter.

public static class
MethodDelegationBinder.Processor

A helper class that allows to identify a best binding for a given type and source method choosing from a list of given target methods by using a given net.bytebuddy.implementation.bind.MethodDelegationBinder and an net.bytebuddy.implementation.bind.MethodDelegationBinder.AmbiguityResolver.

public static interface
MethodDelegationBinder.Record

A method delegation that was compiled to a target method.

public static interface
MethodDelegationBinder.TerminationHandler

A termination handler is responsible for terminating a method delegation.

Method Summary

Modifier and TypeMethod and Description
public MethodDelegationBinder.Record

Returns:

A compiled target for binding.
compile
(MethodDescription
The target method to bind.
candidate
)

Compiles this method delegation binder for a target method.