Package net.bytebuddy.agent.builder
Class AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.SerializationImplementation
- java.lang.Object
-
- net.bytebuddy.agent.builder.AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.SerializationImplementation
-
- All Implemented Interfaces:
InstrumentedType.Prepareable
,Implementation
- Enclosing class:
- AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory
protected static class AgentBuilder.LambdaInstrumentationStrategy.LambdaInstanceFactory.SerializationImplementation extends java.lang.Object implements Implementation
Implements thewriteReplace
method for serializable lambda expressions.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface net.bytebuddy.implementation.Implementation
Implementation.Composable, Implementation.Compound, Implementation.Context, Implementation.Simple, Implementation.SpecialMethodInvocation, Implementation.Target
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
SerializationImplementation(TypeDescription targetType, TypeDescription lambdaType, java.lang.String lambdaMethodName, JavaConstant.MethodType lambdaMethod, JavaConstant.MethodHandle targetMethod, JavaConstant.MethodType specializedMethod)
Creates a new implementation for a serializable's lambda expression'swriteReplace
method.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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.
-
-
-
Constructor Detail
-
SerializationImplementation
protected SerializationImplementation(TypeDescription targetType, TypeDescription lambdaType, java.lang.String lambdaMethodName, JavaConstant.MethodType lambdaMethod, JavaConstant.MethodHandle targetMethod, JavaConstant.MethodType specializedMethod)
Creates a new implementation for a serializable's lambda expression'swriteReplace
method.- Parameters:
targetType
- The lambda expression's declaring type.lambdaType
- The lambda expression's functional type.lambdaMethodName
- The lambda expression's functional method name.lambdaMethod
- The method type of the lambda expression's functional method.targetMethod
- A handle that references the lambda expressions invocation target.specializedMethod
- The specialized method type of the lambda expression's functional method.
-
-
Method Detail
-
appender
public ByteCodeAppender appender(Implementation.Target implementationTarget)
Description copied from interface:Implementation
Creates a byte code appender that determines the implementation of the instrumented type's methods.- Specified by:
appender
in interfaceImplementation
- Parameters:
implementationTarget
- The target of the current implementation.- 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 to
InstrumentedType.Prepareable.prepare(InstrumentedType)
.
-
prepare
public InstrumentedType prepare(InstrumentedType instrumentedType)
Description copied from interface:InstrumentedType.Prepareable
Prepares a given instrumented type.- Specified by:
prepare
in interfaceInstrumentedType.Prepareable
- Parameters:
instrumentedType
- The instrumented type in its current form.- Returns:
- The prepared instrumented type.
-
-