@HashCodeAndEqualsPlugin.Enhance public static class Implementation.Compound extends java.lang.Object implements Implementation
Note that the combination of two implementation might break the contract for implementing
Object.equals(Object)
and Object.hashCode()
as described for
Implementation
.Implementation
Modifier and Type | Class and Description |
---|---|
static class |
Implementation.Compound.Composable
A compound implementation that allows to combine several implementations and that is
Implementation.Composable . |
Implementation.Compound, Implementation.Context, Implementation.Simple, Implementation.SpecialMethodInvocation, Implementation.Target
Modifier and Type | Field and Description |
---|---|
private java.util.List<Implementation> |
implementations
All implementation that are represented by this compound implementation.
|
Constructor and Description |
---|
Compound(Implementation... implementation)
Creates a new immutable compound implementation.
|
Compound(java.util.List<? extends Implementation> implementations)
Creates a new immutable compound implementation.
|
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.
|
InstrumentedType |
prepare(InstrumentedType instrumentedType)
Prepares a given instrumented type.
|
private final java.util.List<Implementation> implementations
public Compound(Implementation... implementation)
implementation
- The implementations to combine in their order.public Compound(java.util.List<? extends Implementation> implementations)
implementations
- The implementations to combine in their order.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)
.