@HashCodeAndEqualsPlugin.Enhance protected static class FixedValue.ForValue extends FixedValue implements FixedValue.AssignerConfigurable
Modifier and Type | Class and Description |
---|---|
private class |
FixedValue.ForValue.StaticFieldByteCodeAppender
A byte code appender for returning the fixed value that was stored in a static field.
|
FixedValue.AssignerConfigurable, FixedValue.ForArgument, FixedValue.ForNullValue, FixedValue.ForOriginType, FixedValue.ForPoolValue, FixedValue.ForThisValue, FixedValue.ForValue
Implementation.Composable, Implementation.Compound, Implementation.Context, Implementation.Simple, Implementation.SpecialMethodInvocation, Implementation.Target
Modifier and Type | Field and Description |
---|---|
private java.lang.String |
fieldName
The name of the field in which the fixed value is stored.
|
private TypeDescription.Generic |
fieldType
The type if the field for storing the fixed value.
|
private static java.lang.String |
PREFIX
The prefix of the static field that is created for storing the fixed value.
|
private java.lang.Object |
value
The value that is to be stored in the static field.
|
assigner, typing
Modifier | Constructor and Description |
---|---|
private |
ForValue(Assigner assigner,
Assigner.Typing typing,
java.lang.String fieldName,
java.lang.Object value)
Creates a new static field fixed value implementation.
|
protected |
ForValue(java.lang.Object value)
Creates a new static field fixed value implementation with a random name for the field containing the fixed
value.
|
protected |
ForValue(java.lang.String fieldName,
java.lang.Object value)
Creates a new static field fixed value implementation.
|
Modifier and Type | Method and 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.
|
Implementation |
withAssigner(Assigner assigner,
Assigner.Typing typing)
Defines an explicit assigner to this fixed value implementation.
|
private static final java.lang.String PREFIX
private final java.lang.String fieldName
private final java.lang.Object value
@HashCodeAndEqualsPlugin.ValueHandling(value=IGNORE) private final TypeDescription.Generic fieldType
protected ForValue(java.lang.Object value)
value
- The fixed value to be returned.protected ForValue(java.lang.String fieldName, java.lang.Object value)
fieldName
- The name of the field for storing the fixed value.value
- The fixed value to be returned.private ForValue(Assigner assigner, Assigner.Typing typing, java.lang.String fieldName, java.lang.Object value)
fieldName
- The name of the field for storing the fixed value.value
- The fixed value to be returned.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.public Implementation withAssigner(Assigner assigner, Assigner.Typing typing)
withAssigner
in interface FixedValue.AssignerConfigurable
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.public InstrumentedType prepare(InstrumentedType instrumentedType)
prepare
in interface InstrumentedType.Prepareable
instrumentedType
- The instrumented type in its current form.public ByteCodeAppender appender(Implementation.Target implementationTarget)
appender
in interface Implementation
implementationTarget
- The target of the current implementation.InstrumentedType.Prepareable.prepare(InstrumentedType)
.