Class OptionalDoubleAttributeConverter
- java.lang.Object
-
- software.amazon.awssdk.enhanced.dynamodb.internal.converter.attribute.OptionalDoubleAttributeConverter
-
- All Implemented Interfaces:
AttributeConverter<OptionalDouble>
@ThreadSafe @Immutable public final class OptionalDoubleAttributeConverter extends Object implements AttributeConverter<OptionalDouble>
A converter betweenOptionalDouble
andAttributeValue
.This stores values in DynamoDB as a number.
This supports converting numbers stored in DynamoDB into a double-precision floating point number, within the range
Double.MIN_VALUE
,Double.MAX_VALUE
. Null values are converted toOptionalDouble.empty()
. For less precision or smaller values, consider usingOptionalAttributeConverter
along with aFloat
type. For greater precision or larger values, consider usingOptionalAttributeConverter
along with aBigDecimal
type.If values are known to be whole numbers, it is recommended to use a perfect-precision whole number representation like those provided by
OptionalIntAttributeConverter
,OptionalLongAttributeConverter
, or aOptionalAttributeConverter
along with aBigInteger
type.This can be created via
create()
.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description AttributeValueType
attributeValueType()
TheAttributeValueType
that a converter stores and reads values from DynamoDB via theAttributeValue
class.static OptionalDoubleAttributeConverter
create()
AttributeValue
transformFrom(OptionalDouble input)
Convert the provided Java object into anAttributeValue
.OptionalDouble
transformTo(AttributeValue input)
Convert the providedAttributeValue
into a Java object.EnhancedType<OptionalDouble>
type()
The type supported by this converter.
-
-
-
Method Detail
-
create
public static OptionalDoubleAttributeConverter create()
-
type
public EnhancedType<OptionalDouble> type()
Description copied from interface:AttributeConverter
The type supported by this converter.- Specified by:
type
in interfaceAttributeConverter<OptionalDouble>
-
attributeValueType
public AttributeValueType attributeValueType()
Description copied from interface:AttributeConverter
TheAttributeValueType
that a converter stores and reads values from DynamoDB via theAttributeValue
class.- Specified by:
attributeValueType
in interfaceAttributeConverter<OptionalDouble>
-
transformFrom
public AttributeValue transformFrom(OptionalDouble input)
Description copied from interface:AttributeConverter
Convert the provided Java object into anAttributeValue
. This will raise aRuntimeException
if the conversion fails, or the input is null.Example:
InstantAsStringAttributeConverter converter = InstantAsStringAttributeConverter.create(); assertEquals(converter.transformFrom(Instant.EPOCH), EnhancedAttributeValue.fromString("1970-01-01T00:00:00Z").toAttributeValue());
- Specified by:
transformFrom
in interfaceAttributeConverter<OptionalDouble>
-
transformTo
public OptionalDouble transformTo(AttributeValue input)
Description copied from interface:AttributeConverter
Convert the providedAttributeValue
into a Java object. This will raise aRuntimeException
if the conversion fails, or the input is null.Example:
InstantAsStringAttributeConverter converter = InstantAsStringAttributeConverter.create(); assertEquals(converter.transformTo(EnhancedAttributeValue.fromString("1970-01-01T00:00:00Z").toAttributeValue()), Instant.EPOCH);
- Specified by:
transformTo
in interfaceAttributeConverter<OptionalDouble>
-
-