@HashCodeAndEqualsPlugin.Enhance public static class Implementation.Simple extends Object implements Implementation
Modifier and Type | Class and Description |
---|---|
static interface |
Implementation.Simple.Dispatcher
A dispatcher for a simple
Implementation , typically implemented as a lambda expression. |
protected static class |
Implementation.Simple.ForDispatcher
A
ByteCodeAppender for a dispatcher. |
Implementation.Composable, Implementation.Compound, Implementation.Context, Implementation.Simple, Implementation.SpecialMethodInvocation, Implementation.Target
InstrumentedType.Prepareable.NoOp
Constructor and Description |
---|
Simple(ByteCodeAppender... byteCodeAppender)
Creates a new simple implementation for the given byte code appenders.
|
Simple(StackManipulation... stackManipulation)
Creates a new simple instrumentation for the given stack manipulations which are summarized in a
byte code appender that defines any requested method by these manipulations.
|
Modifier and Type | Method and Description |
---|---|
ByteCodeAppender |
appender(Implementation.Target implementationTarget)
Creates a byte code appender that determines the implementation of the instrumented type's methods.
|
static Implementation |
of(Implementation.Simple.Dispatcher dispatcher)
Resolves a simple implementation that applies the given dispatcher without defining additional local variables.
|
static Implementation |
of(Implementation.Simple.Dispatcher dispatcher,
InstrumentedType.Prepareable prepareable)
Resolves a simple implementation that applies the given dispatcher without defining additional local variables.
|
static Implementation |
of(Implementation.Simple.Dispatcher dispatcher,
InstrumentedType.Prepareable prepareable,
int additionalVariableLength)
Resolves a simple implementation that applies the given dispatcher.
|
static Implementation |
of(Implementation.Simple.Dispatcher dispatcher,
int additionalVariableLength)
Resolves a simple implementation that applies the given dispatcher.
|
InstrumentedType |
prepare(InstrumentedType instrumentedType)
Prepares a given instrumented type.
|
public Simple(ByteCodeAppender... byteCodeAppender)
byteCodeAppender
- The byte code appenders to apply in their order of application.public Simple(StackManipulation... stackManipulation)
stackManipulation
- The stack manipulation to apply in their order of application.public static Implementation of(Implementation.Simple.Dispatcher dispatcher)
dispatcher
- The dispatcher to use.public static Implementation of(Implementation.Simple.Dispatcher dispatcher, int additionalVariableLength)
dispatcher
- The dispatcher to use.additionalVariableLength
- The amount of additional slots required in the local variable array.public static Implementation of(Implementation.Simple.Dispatcher dispatcher, InstrumentedType.Prepareable prepareable)
dispatcher
- The dispatcher to use.prepareable
- A preparation of the instrumented type.public static Implementation of(Implementation.Simple.Dispatcher dispatcher, InstrumentedType.Prepareable prepareable, int additionalVariableLength)
dispatcher
- The dispatcher to use.prepareable
- A preparation of the instrumented type.additionalVariableLength
- The amount of additional slots required in the local variable array.public InstrumentedType prepare(InstrumentedType instrumentedType)
prepare
in interface InstrumentedType.Prepareable
instrumentedType
- The instrumented type in its current form.public ByteCodeAppender appender(Implementation.Target implementationTarget)
appender
in interface Implementation
implementationTarget
- The target of the current implementation.InstrumentedType.Prepareable.prepare(InstrumentedType)
.Copyright © 2014–2023. All rights reserved.