Package net.bytebuddy.asm
Class Advice.Dispatcher.Delegating
- java.lang.Object
-
- net.bytebuddy.asm.Advice.Dispatcher.Delegating
-
- All Implemented Interfaces:
Advice.Dispatcher,Advice.Dispatcher.Unresolved
- Enclosing interface:
- Advice.Dispatcher
@Enhance public static class Advice.Dispatcher.Delegating extends java.lang.Object implements Advice.Dispatcher.Unresolved
A dispatcher for an advice method that is being invoked from the instrumented method.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classAdvice.Dispatcher.Delegating.ResolvedA resolved version of a dispatcher.-
Nested classes/interfaces inherited from interface net.bytebuddy.asm.Advice.Dispatcher
Advice.Dispatcher.Bound, Advice.Dispatcher.Delegating, Advice.Dispatcher.Inactive, Advice.Dispatcher.Inlining, Advice.Dispatcher.RelocationHandler, Advice.Dispatcher.SuppressionHandler, Advice.Dispatcher.Unresolved
-
-
Field Summary
Fields Modifier and Type Field Description protected MethodDescription.InDefinedShapeadviceMethodThe advice method.protected Advice.DelegatordelegatorThe delegator to use.-
Fields inherited from interface net.bytebuddy.asm.Advice.Dispatcher
IGNORE_ANNOTATION, IGNORE_METHOD
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedDelegating(MethodDescription.InDefinedShape adviceMethod, Advice.Delegator delegator)Creates a new delegating advice dispatcher.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Advice.Dispatcher.Resolved.ForMethodEnterasMethodEnter(java.util.List<? extends Advice.OffsetMapping.Factory<?>> userFactories, org.objectweb.asm.ClassReader classReader, Advice.Dispatcher.Unresolved methodExit, Advice.PostProcessor.Factory postProcessorFactory)Resolves this dispatcher as a dispatcher for entering a method.Advice.Dispatcher.Resolved.ForMethodExitasMethodExit(java.util.List<? extends Advice.OffsetMapping.Factory<?>> userFactories, org.objectweb.asm.ClassReader classReader, Advice.Dispatcher.Unresolved methodEnter, Advice.PostProcessor.Factory postProcessorFactory)Resolves this dispatcher as a dispatcher for exiting a method.TypeDescriptiongetAdviceType()The type that is produced as a result of executing this advice method.java.util.Map<java.lang.String,TypeDefinition>getNamedTypes()Returns the named types declared by this enter advice.booleanisAlive()Returnstrueif this dispatcher is alive.booleanisBinary()Indicates that this dispatcher requires access to the class file declaring the advice method.
-
-
-
Field Detail
-
adviceMethod
protected final MethodDescription.InDefinedShape adviceMethod
The advice method.
-
delegator
protected final Advice.Delegator delegator
The delegator to use.
-
-
Constructor Detail
-
Delegating
protected Delegating(MethodDescription.InDefinedShape adviceMethod, Advice.Delegator delegator)
Creates a new delegating advice dispatcher.- Parameters:
adviceMethod- The advice method.delegator- The delegator to use.
-
-
Method Detail
-
isAlive
public boolean isAlive()
Returnstrueif this dispatcher is alive.- Specified by:
isAlivein interfaceAdvice.Dispatcher- Returns:
trueif this dispatcher is alive.
-
isBinary
public boolean isBinary()
Indicates that this dispatcher requires access to the class file declaring the advice method.- Specified by:
isBinaryin interfaceAdvice.Dispatcher.Unresolved- Returns:
trueif this dispatcher requires access to the advice method's class file.
-
getAdviceType
public TypeDescription getAdviceType()
The type that is produced as a result of executing this advice method.- Specified by:
getAdviceTypein interfaceAdvice.Dispatcher- Returns:
- A description of the type that is produced by this advice method.
-
getNamedTypes
public java.util.Map<java.lang.String,TypeDefinition> getNamedTypes()
Returns the named types declared by this enter advice.- Specified by:
getNamedTypesin interfaceAdvice.Dispatcher.Unresolved- Returns:
- The named types declared by this enter advice.
-
asMethodEnter
public Advice.Dispatcher.Resolved.ForMethodEnter asMethodEnter(java.util.List<? extends Advice.OffsetMapping.Factory<?>> userFactories, org.objectweb.asm.ClassReader classReader, Advice.Dispatcher.Unresolved methodExit, Advice.PostProcessor.Factory postProcessorFactory)
Resolves this dispatcher as a dispatcher for entering a method.- Specified by:
asMethodEnterin interfaceAdvice.Dispatcher.Unresolved- Parameters:
userFactories- A list of custom factories for binding parameters of an advice method.classReader- A class reader to query for a class file which might benullif this dispatcher is not binary.methodExit- The unresolved dispatcher for the method exit advice.postProcessorFactory- The post processor factory to use.- Returns:
- This dispatcher as a dispatcher for entering a method.
-
asMethodExit
public Advice.Dispatcher.Resolved.ForMethodExit asMethodExit(java.util.List<? extends Advice.OffsetMapping.Factory<?>> userFactories, org.objectweb.asm.ClassReader classReader, Advice.Dispatcher.Unresolved methodEnter, Advice.PostProcessor.Factory postProcessorFactory)
Resolves this dispatcher as a dispatcher for exiting a method.- Specified by:
asMethodExitin interfaceAdvice.Dispatcher.Unresolved- Parameters:
userFactories- A list of custom factories for binding parameters of an advice method.classReader- A class reader to query for a class file which might benullif this dispatcher is not binary.methodEnter- The unresolved dispatcher for the method enter advice.postProcessorFactory- The post processor factory to use.- Returns:
- This dispatcher as a dispatcher for exiting a method.
-
-