Package net.bytebuddy.implementation
Class Implementation.Simple.ForDispatcher
java.lang.Object
net.bytebuddy.implementation.Implementation.Simple.ForDispatcher
- All Implemented Interfaces:
InstrumentedType.Prepareable
,Implementation
- Enclosing class:
- Implementation.Simple
@Enhance
protected static class Implementation.Simple.ForDispatcher
extends Object
implements Implementation
A
ByteCodeAppender
for a dispatcher.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected class
An appender for a dispatcher-based simple implementation.Nested classes/interfaces inherited from interface net.bytebuddy.implementation.Implementation
Implementation.Composable, Implementation.Compound, Implementation.Context, Implementation.Simple, Implementation.SpecialMethodInvocation, Implementation.Target
Nested classes/interfaces inherited from interface net.bytebuddy.dynamic.scaffold.InstrumentedType.Prepareable
InstrumentedType.Prepareable.NoOp
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final int
The additional length of the local variable array.private final Implementation.Simple.Dispatcher
The dispatcher to use.private final InstrumentedType.Prepareable
A preparation of the instrumented type. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
ForDispatcher
(Implementation.Simple.Dispatcher dispatcher, InstrumentedType.Prepareable prepareable, int additionalVariableLength) Creates a new byte code appender for a dispatcher. -
Method Summary
Modifier and TypeMethodDescriptionappender
(Implementation.Target implementationTarget) Creates a byte code appender that determines the implementation of the instrumented type's methods.prepare
(InstrumentedType instrumentedType) Prepares a given instrumented type.
-
Field Details
-
dispatcher
The dispatcher to use. -
prepareable
A preparation of the instrumented type. -
additionalVariableLength
private final int additionalVariableLengthThe additional length of the local variable array.
-
-
Constructor Details
-
ForDispatcher
protected ForDispatcher(Implementation.Simple.Dispatcher dispatcher, InstrumentedType.Prepareable prepareable, int additionalVariableLength) Creates a new byte code appender for a dispatcher.- Parameters:
dispatcher
- The dispatcher to use.prepareable
- A preparation of the instrumented type.additionalVariableLength
- The additional length of the local variable array.
-
-
Method Details
-
prepare
Prepares a given instrumented type.- Specified by:
prepare
in interfaceInstrumentedType.Prepareable
- Parameters:
instrumentedType
- The instrumented type in its current form.- Returns:
- The prepared instrumented type.
-
appender
Creates a byte code appender that determines the implementation of the instrumented type's methods.- Specified by:
appender
in interfaceImplementation
- Parameters:
implementationTarget
- The target of the current implementation.- Returns:
- A byte code appender for implementing methods delegated to this implementation. This byte code appender
is also responsible for handling methods that were added by this implementation on the call to
InstrumentedType.Prepareable.prepare(InstrumentedType)
.
-