protected static class Pipe.Binder.Redirection extends Object implements AuxiliaryType, StackManipulation
Pipe
annotation.Modifier and Type | Class and Description |
---|---|
protected static class |
Pipe.Binder.Redirection.ConstructorCall
The implementation to implement a
Pipe.Binder.Redirection 's
constructor. |
protected static class |
Pipe.Binder.Redirection.MethodCall
The implementation to implement a
Pipe.Binder.Redirection 's
forwarding method. |
AuxiliaryType.MethodAccessorFactory, AuxiliaryType.NamingStrategy
StackManipulation.Compound, StackManipulation.Illegal, StackManipulation.LegalTrivial, StackManipulation.Size
DEFAULT_TYPE_MODIFIER
Modifier | Constructor and Description |
---|---|
protected |
Redirection(TypeDescription forwardingType,
MethodDescription sourceMethod,
Assigner assigner,
boolean serializableProxy,
MethodLookupEngine.Factory methodLookupEngineFactory)
Creates a new redirection.
|
Modifier and Type | Method and Description |
---|---|
StackManipulation.Size |
apply(org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext)
Applies the stack manipulation that is described by this instance.
|
boolean |
equals(Object other) |
int |
hashCode() |
boolean |
isValid()
Determines if this stack manipulation is valid.
|
DynamicType |
make(String auxiliaryTypeName,
ClassFileVersion classFileVersion,
AuxiliaryType.MethodAccessorFactory methodAccessorFactory)
Creates a new auxiliary type.
|
String |
toString() |
protected Redirection(TypeDescription forwardingType, MethodDescription sourceMethod, Assigner assigner, boolean serializableProxy, MethodLookupEngine.Factory methodLookupEngineFactory)
forwardingType
- The type that declares the method for forwarding a method invocation.sourceMethod
- The method that is to be forwarded.assigner
- The assigner to use.serializableProxy
- Determines if the generated proxy should be Serializable
.methodLookupEngineFactory
- The method lookup engine factory to register.public DynamicType make(String auxiliaryTypeName, ClassFileVersion classFileVersion, AuxiliaryType.MethodAccessorFactory methodAccessorFactory)
AuxiliaryType
make
in interface AuxiliaryType
auxiliaryTypeName
- The fully qualified non-internal name for this auxiliary type. The type should be in
the same package than the instrumented type this auxiliary type is providing services
to in order to allow package-private access.classFileVersion
- The class file version the auxiliary class should be written in.methodAccessorFactory
- A factory for accessor methods.public boolean isValid()
StackManipulation
isValid
in interface StackManipulation
false
, this manipulation cannot be applied and should throw an exception.public StackManipulation.Size apply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext)
StackManipulation
apply
in interface StackManipulation
methodVisitor
- The method visitor used to write the method implementation to.implementationContext
- The context of the current implementation.Copyright © 2014–2015. All rights reserved.