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 thewriteReplacemethod 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 protectedSerializationImplementation(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'swriteReplacemethod.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ByteCodeAppenderappender(Implementation.Target implementationTarget)Creates a byte code appender that determines the implementation of the instrumented type's methods.InstrumentedTypeprepare(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'swriteReplacemethod.- 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:ImplementationCreates a byte code appender that determines the implementation of the instrumented type's methods.- Specified by:
appenderin 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.PrepareablePrepares a given instrumented type.- Specified by:
preparein interfaceInstrumentedType.Prepareable- Parameters:
instrumentedType- The instrumented type in its current form.- Returns:
- The prepared instrumented type.
-
-