LoadedTypeInitializers and byte code for the type initializer can be registered for the instrumented
type.An implementation should provide meaningful implementations of both
java.lang.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 | Class and Description |
|---|---|
| public static interface | Implementation.Composable
Represents an implementation that can be chained together with another implementation. |
| public static class | Implementation.Compound
A compound implementation that allows to combine several implementations. |
| public static interface | Implementation.Context
The context for an implementation application. |
| public static class | Implementation.Simple
A simple implementation that does not register any members with the instrumented type. |
| public static interface | Implementation.SpecialMethodInvocation
Represents a 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. |
| public static interface | Implementation.Target
The target of an implementation. |
| Modifier and Type | Method and Description |
|---|---|
| public ByteCodeAppender | 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 toImplementation#prepare(InstrumentedType).The target of the current implementation. implementationTargetCreates a byte code appender that determines the implementation of the instrumented type's methods. |