public interface Implementation
LoadedTypeInitializer
s and byte code for the type initializer can be registered for the instrumented
type.An implementation should provide meaningful implementations of both
Object.equals(Object)
and Object.hashCode()
if it wants to avoid to be used twice within the creation of a dynamic type. For two
equal implementations only one will be applied on the creation of a dynamic type.Modifier and Type | Interface and Description |
---|---|
static class |
Implementation.Compound
A compound implementation that allows to combine several implementations.
|
static interface |
Implementation.Context
The context for an implementation application.
|
static class |
Implementation.Simple
A simple implementation that does not register any members with the instrumented type.
|
static interface |
Implementation.SpecialMethodInvocation
Represents an type-specific method invocation on the current instrumented type which is not legal from outside
the type such as a super method or default method invocation.
|
static interface |
Implementation.Target
The target of an 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)
During the preparation phase of an implementation, implementations are eligible to adding fields or methods
to the currently instrumented type.
|
InstrumentedType prepare(InstrumentedType instrumentedType)
ByteCodeAppender
that is emitted
on the call to
appender(Implementation.Target)
call. On this method call, loaded type initializers can also be added to the instrumented type.instrumentedType
- The instrumented type that is the basis of the ongoing instrumentation.ByteCodeAppender appender(Implementation.Target implementationTarget)
implementationTarget
- The target of the current implementation.prepare(InstrumentedType)
.Copyright © 2014–2015. All rights reserved.