Package net.bytebuddy.implementation
Class FieldAccessor.ForSetter.OfDefaultValue
- java.lang.Object
-
- net.bytebuddy.implementation.FieldAccessor
-
- net.bytebuddy.implementation.FieldAccessor.ForSetter<java.lang.Void>
-
- net.bytebuddy.implementation.FieldAccessor.ForSetter.OfDefaultValue
-
- All Implemented Interfaces:
InstrumentedType.Prepareable
,Implementation
,Implementation.Composable
- Enclosing class:
- FieldAccessor.ForSetter<T>
protected static class FieldAccessor.ForSetter.OfDefaultValue extends FieldAccessor.ForSetter<java.lang.Void>
A setter instrumentation that sets anull
or a primitive type's default value.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class net.bytebuddy.implementation.FieldAccessor.ForSetter
FieldAccessor.ForSetter.Appender, FieldAccessor.ForSetter.OfConstantValue, FieldAccessor.ForSetter.OfDefaultValue, FieldAccessor.ForSetter.OfFieldValue, FieldAccessor.ForSetter.OfParameterValue, FieldAccessor.ForSetter.OfReferenceValue, FieldAccessor.ForSetter.TerminationHandler
-
Nested classes/interfaces inherited from class net.bytebuddy.implementation.FieldAccessor
FieldAccessor.AssignerConfigurable, FieldAccessor.FieldLocation, FieldAccessor.FieldNameExtractor, FieldAccessor.ForImplicitProperty, FieldAccessor.ForSetter<T>, FieldAccessor.OwnerTypeLocatable, FieldAccessor.PropertyConfigurable
-
Nested classes/interfaces inherited from interface net.bytebuddy.implementation.Implementation
Implementation.Composable, Implementation.Compound, Implementation.Context, Implementation.Simple, Implementation.SpecialMethodInvocation, Implementation.Target
-
-
Field Summary
-
Fields inherited from class net.bytebuddy.implementation.FieldAccessor
assigner, fieldLocation, typing
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
OfDefaultValue(FieldAccessor.FieldLocation fieldLocation, Assigner assigner, Assigner.Typing typing, FieldAccessor.ForSetter.TerminationHandler terminationHandler)
Creates an intrumentation that sets a field's default value.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Implementation
andThen(Implementation implementation)
Appends the supplied implementation to this implementation.Implementation.Composable
andThen(Implementation.Composable implementation)
Appends the supplied composable implementation to this implementation.protected java.lang.Void
initialize(TypeDescription instrumentedType)
Initializes a value to be used during method instrumentation.InstrumentedType
prepare(InstrumentedType instrumentedType)
Prepares a given instrumented type.protected StackManipulation
resolve(java.lang.Void initialized, FieldDescription fieldDescription, TypeDescription instrumentedType, MethodDescription instrumentedMethod)
Resolves the stack manipulation to load the value being set.-
Methods inherited from class net.bytebuddy.implementation.FieldAccessor.ForSetter
appender
-
Methods inherited from class net.bytebuddy.implementation.FieldAccessor
of, of, of, ofBeanProperty, ofField
-
-
-
-
Constructor Detail
-
OfDefaultValue
protected OfDefaultValue(FieldAccessor.FieldLocation fieldLocation, Assigner assigner, Assigner.Typing typing, FieldAccessor.ForSetter.TerminationHandler terminationHandler)
Creates an intrumentation that sets a field's default value.- Parameters:
fieldLocation
- The field's location.assigner
- The assigner to use.typing
- Indicates if dynamic type castings should be attempted for incompatible assignments.terminationHandler
- The termination handler to apply.
-
-
Method Detail
-
prepare
public InstrumentedType prepare(InstrumentedType instrumentedType)
Prepares a given instrumented type.- Parameters:
instrumentedType
- The instrumented type in its current form.- Returns:
- The prepared instrumented type.
-
initialize
protected java.lang.Void initialize(TypeDescription instrumentedType)
Initializes a value to be used during method instrumentation.- Specified by:
initialize
in classFieldAccessor.ForSetter<java.lang.Void>
- Parameters:
instrumentedType
- The instrumented type.- Returns:
- The initialized value.
-
resolve
protected StackManipulation resolve(java.lang.Void initialized, FieldDescription fieldDescription, TypeDescription instrumentedType, MethodDescription instrumentedMethod)
Resolves the stack manipulation to load the value being set.- Specified by:
resolve
in classFieldAccessor.ForSetter<java.lang.Void>
- Parameters:
initialized
- The method that was initialized for the instrumented type.fieldDescription
- The field to set the value for.instrumentedType
- The instrumented type.instrumentedMethod
- The instrumented method.- Returns:
- The stack manipulation to apply.
-
andThen
public Implementation andThen(Implementation implementation)
Appends the supplied implementation to this implementation.- Parameters:
implementation
- The subsequent implementation.- Returns:
- An implementation that combines this implementation with the provided one.
-
andThen
public Implementation.Composable andThen(Implementation.Composable implementation)
Appends the supplied composable implementation to this implementation.- Parameters:
implementation
- The subsequent composable implementation.- Returns:
- A composable implementation that combines this implementation with the provided one.
-
-