Package net.bytebuddy.implementation
Interface Implementation.Target
- All Known Implementing Classes:
Implementation.Target.AbstractBase
,RebaseImplementationTarget
,SubclassImplementationTarget
- Enclosing interface:
Implementation
public static interface Implementation.Target
The target of an implementation. Implementation targets must be immutable and can be queried without altering
the implementation result. An implementation target provides information on the type that is to be created
where it is the implementation's responsibility to cache expensive computations, especially such computations
that require reflective look-up.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic class
An abstract base implementation for anImplementation.Target
.static interface
A factory for creating anImplementation.Target
. -
Method Summary
Modifier and TypeMethodDescriptionReturns a description of the instrumented type.Identifies the origin type of an implementation.Creates a special method invocation for invoking a default method with the given token.invokeDefault
(MethodDescription.SignatureToken token, TypeDescription targetType) Creates a special method invocation for invoking a default method.Invokes a dominant method, i.e.Creates a special method invocation for invoking the super method of the given method.
-
Method Details
-
getInstrumentedType
TypeDescription getInstrumentedType()Returns a description of the instrumented type.- Returns:
- A description of the instrumented type.
-
getOriginType
TypeDefinition getOriginType()Identifies the origin type of an implementation. The origin type describes the type that is subject to any form of enhancement. If a subclass of a given type is generated, the base type of this subclass describes the origin type. If a given type is redefined or rebased, the origin type is described by the instrumented type itself.- Returns:
- The origin type of this implementation.
-
invokeSuper
Creates a special method invocation for invoking the super method of the given method.- Parameters:
token
- A token of the method that is to be invoked as a super method.- Returns:
- The corresponding special method invocation which might be illegal if the requested invocation is not legal.
-
invokeDefault
Creates a special method invocation for invoking a default method with the given token. The default method call must not be ambiguous or an illegal special method invocation is returned.- Parameters:
token
- A token of the method that is to be invoked as a default method.- Returns:
- The corresponding default method invocation which might be illegal if the requested invocation is not legal or ambiguous.
-
invokeDefault
Implementation.SpecialMethodInvocation invokeDefault(MethodDescription.SignatureToken token, TypeDescription targetType) Creates a special method invocation for invoking a default method.- Parameters:
token
- A token that uniquely describes the method to invoke.targetType
- The interface on which the default method is to be invoked.- Returns:
- The corresponding special method invocation which might be illegal if the requested invocation is not legal.
-
invokeDominant
Invokes a dominant method, i.e. if the method token can be invoked as a super method invocation, this invocation is considered dominant. Alternatively, a method invocation is attempted on an interface type as a default method invocation only if this invocation is not ambiguous for several interfaces.- Parameters:
token
- The method token representing the method to be invoked.- Returns:
- A special method invocation for a method representing the method token.
-