Package net.bytebuddy.implementation
Class FixedValue.ForValue
java.lang.Object
net.bytebuddy.implementation.FixedValue
net.bytebuddy.implementation.FixedValue.ForValue
- All Implemented Interfaces:
InstrumentedType.Prepareable
,FixedValue.AssignerConfigurable
,Implementation
- Enclosing class:
FixedValue
@Enhance
protected static class FixedValue.ForValue
extends FixedValue
implements FixedValue.AssignerConfigurable
A fixed value implementation that represents its fixed value as a static field of the instrumented class.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate class
A byte code appender for returning the fixed value that was stored in a static field.Nested classes/interfaces inherited from class net.bytebuddy.implementation.FixedValue
FixedValue.AssignerConfigurable, FixedValue.ForArgument, FixedValue.ForConstantValue, FixedValue.ForNullValue, FixedValue.ForOriginType, FixedValue.ForThisValue, FixedValue.ForValue
Nested classes/interfaces inherited from interface net.bytebuddy.implementation.Implementation
Implementation.Composable, Implementation.Compound, Implementation.Context, Implementation.Simple, Implementation.SpecialMethodInvocation, Implementation.Target
Nested classes/interfaces inherited from interface net.bytebuddy.dynamic.scaffold.InstrumentedType.Prepareable
InstrumentedType.Prepareable.NoOp
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final String
The name of the field in which the fixed value is stored.private static final String
The prefix of the static field that is created for storing the fixed value.private final Object
The value that is to be stored in the static field.Fields inherited from class net.bytebuddy.implementation.FixedValue
assigner, typing
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionappender
(Implementation.Target implementationTarget) Creates a byte code appender that determines the implementation of the instrumented type's methods.prepare
(InstrumentedType instrumentedType) Prepares a given instrumented type.withAssigner
(Assigner assigner, Assigner.Typing typing) Defines an explicit assigner to this fixed value implementation.
-
Field Details
-
PREFIX
The prefix of the static field that is created for storing the fixed value.- See Also:
-
name
The name of the field in which the fixed value is stored. -
value
The value that is to be stored in the static field.
-
-
Constructor Details
-
ForValue
Creates a new static field fixed value implementation.- Parameters:
value
- The fixed value to be returned.name
- The name of the field for storing the fixed value.
-
ForValue
Creates a new static field fixed value implementation.- Parameters:
assigner
- The assigner to use for assigning the fixed value to the return type of the instrumented value.typing
- Indicates if dynamic type castings should be attempted for incompatible assignments.value
- The fixed value to be returned.name
- The name of the field for storing the fixed value.
-
-
Method Details
-
withAssigner
Defines an explicit assigner to this fixed value implementation.- Specified by:
withAssigner
in interfaceFixedValue.AssignerConfigurable
- Parameters:
assigner
- The assigner to use for assigning the fixed value to the return type of the instrumented value.typing
- Indicates if dynamic type castings should be attempted for incompatible assignments.- Returns:
- A fixed value implementation that makes use of the given assigner.
-
prepare
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.
-
appender
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)
.
-