Top Description Inners Methods
net.bytebuddy.implementation.bind.annotation

public @Interface SuperCall

extends Annotation
Annotations
@Documented
@Retention:RUNTIME
@Target:PARAMETER
Imports
net.bytebuddy.description.annotation.AnnotationDescription, net.bytebuddy.description.method.MethodDescription, .MethodList, .ParameterDescription, net.bytebuddy.description.type.TypeDescription, net.bytebuddy.implementation.Implementation, net.bytebuddy.implementation.auxiliary.MethodCallProxy, net.bytebuddy.implementation.bind.MethodDelegationBinder, net.bytebuddy.implementation.bytecode.StackManipulation, net.bytebuddy.implementation.bytecode.assign.Assigner, net.bytebuddy.implementation.bytecode.constant.NullConstant, java.lang.annotation.*, java.util.concurrent.Callable

Parameters that are annotated with this annotation will be assigned a proxy for calling the instrumented method's super implementation.

 

The proxy will both implement the java.util.concurrent.Callable and the java.lang.Runnable interfaces such that the annotated parameter must be assignable to any of those interfaces or be of the java.lang.Object type.
See Also
net.bytebuddy.implementation.MethodDelegation, net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static enum

Method Summary

Modifier and TypeMethod and Description
public boolean

Returns:

true if the invocation should fall back to invoking the default method.
fallbackToDefault
()

Determines if the injected proxy should invoke the default method to the intercepted method if a common super method invocation is not applicable.

public boolean

Returns:

true if a null constant should be assigned to this parameter in case that a legal binding is impossible.
nullIfImpossible
()

Assigns null to the parameter if it is impossible to invoke the super method or a possible dominant default method, if permitted.

public boolean

Returns:

true if the generated proxy should be java.io.Serializable.
serializableProxy
()

Determines if the generated proxy should be java.io.Serializable.

Inherited from java.lang.annotation.Annotation:
annotationTypeequalshashCodetoString

Method Detail

fallbackToDefaultback to summary
public boolean fallbackToDefault()

Determines if the injected proxy should invoke the default method to the intercepted method if a common super method invocation is not applicable. For this to be possible, the default method must not be ambiguous.

Returns:boolean

true if the invocation should fall back to invoking the default method.

nullIfImpossibleback to summary
public boolean nullIfImpossible()

Assigns null to the parameter if it is impossible to invoke the super method or a possible dominant default method, if permitted.

Returns:boolean

true if a null constant should be assigned to this parameter in case that a legal binding is impossible.

serializableProxyback to summary
public boolean serializableProxy()

Determines if the generated proxy should be java.io.Serializable.

Returns:boolean

true if the generated proxy should be java.io.Serializable.

net.bytebuddy.implementation.bind.annotation back to summary

public final Enum SuperCall.Binder

extends Enum<SuperCall.Binder>
implements TargetMethodAnnotationDrivenBinder.ParameterBinder<SuperCall>
Class Inheritance
All Implemented Interfaces
net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder

A binder for handling the net.bytebuddy.implementation.bind.annotation.SuperCall annotation.
See Also
TargetMethodAnnotationDrivenBinder

Field Summary

Modifier and TypeField and Description
private static final MethodDescription.InDefinedShape
public static final SuperCall.Binder
INSTANCE

The singleton instance.

private static final MethodDescription.InDefinedShape
private static final MethodDescription.InDefinedShape

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public MethodDelegationBinder.ParameterBinding<?>
bind(AnnotationDescription.Loadable<SuperCall>
The annotation that was cause for the delegation to this argument binder.
annotation
,
MethodDescription
The intercepted source method.
source
,
ParameterDescription
Tge target parameter that is subject to be bound to intercepting the source method.
target
,
Implementation.Target
The target of the current implementation that is subject to this binding.
implementationTarget
,
Assigner
An assigner that can be used for applying the binding.
assigner
,
Assigner.Typing
The typing to apply.
typing
)

Implements net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder.bind.

Creates a parameter binding for the given target parameter.
public Class<SuperCall>
public static SuperCall.Binder
public static SuperCall.Binder[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

FALLBACK_TO_DEFAULTback to summary
private static final MethodDescription.InDefinedShape FALLBACK_TO_DEFAULT

A description of the SuperCall#fallbackToDefault() method.

INSTANCEback to summary
public static final SuperCall.Binder INSTANCE

The singleton instance.

NULL_IF_IMPOSSIBLEback to summary
private static final MethodDescription.InDefinedShape NULL_IF_IMPOSSIBLE

A description of the SuperCall#nullIfImpossible() method.

SERIALIZABLE_PROXYback to summary
private static final MethodDescription.InDefinedShape SERIALIZABLE_PROXY

A description of the SuperCall#serializableProxy() method.

Constructor Detail

Binderback to summary
private Binder()

Method Detail

bindback to summary
public MethodDelegationBinder.ParameterBinding<?> bind(AnnotationDescription.Loadable<SuperCall> annotation, MethodDescription source, ParameterDescription target, Implementation.Target implementationTarget, Assigner assigner, Assigner.Typing typing)

Implements net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder.bind.

Doc from net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder.bind.

Creates a parameter binding for the given target parameter.

Parameters
annotation:AnnotationDescription.Loadable<SuperCall>

The annotation that was cause for the delegation to this argument binder.

source:MethodDescription

The intercepted source method.

target:ParameterDescription

Tge target parameter that is subject to be bound to intercepting the source method.

implementationTarget:Implementation.Target

The target of the current implementation that is subject to this binding.

assigner:Assigner

An assigner that can be used for applying the binding.

typing:Assigner.Typing

The typing to apply.

Returns:MethodDelegationBinder.ParameterBinding<?>

A parameter binding for the requested target method parameter.

getHandledTypeback to summary
public Class<SuperCall> getHandledType()

Implements net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder.getHandledType.

Doc from net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder.getHandledType.

The annotation type that is handled by this parameter binder.

Returns:Class<SuperCall>

The java.lang.annotation.Annotation#annotationType() handled by this parameter binder.

valueOfback to summary
public static SuperCall.Binder valueOf(String name)
valuesback to summary
public static SuperCall.Binder[] values()