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.NamingStrategyStackManipulation.Compound, StackManipulation.Illegal, StackManipulation.LegalTrivial, StackManipulation.SizeDEFAULT_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(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)
AuxiliaryTypemake in interface AuxiliaryTypeauxiliaryTypeName - 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()
StackManipulationisValid in interface StackManipulationfalse, this manipulation cannot be applied and should throw an exception.public StackManipulation.Size apply(MethodVisitor methodVisitor, Implementation.Context implementationContext)
StackManipulationapply in interface StackManipulationmethodVisitor - The method visitor used to write the method implementation to.implementationContext - The context of the current implementation.Copyright © 2014–2015. All rights reserved.