Class BigDecimalAttributeConverter
- java.lang.Object
-
- software.amazon.awssdk.enhanced.dynamodb.internal.converter.attribute.BigDecimalAttributeConverter
-
- All Implemented Interfaces:
AttributeConverter<BigDecimal>
@ThreadSafe @Immutable public final class BigDecimalAttributeConverter extends Object implements AttributeConverter<BigDecimal>
A converter betweenBigDecimal
andAttributeValue
.This stores values in DynamoDB as a number.
This supports perfect precision with the full range of numbers that can be stored in DynamoDB. For less precision or smaller values, consider using
FloatAttributeConverter
orDoubleAttributeConverter
.If values are known to be whole numbers, it is recommended to use a perfect-precision whole number representation like those provided by
ShortAttributeConverter
,IntegerAttributeConverter
orBigIntegerAttributeConverter
.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 BigDecimalAttributeConverter
create()
AttributeValue
transformFrom(BigDecimal input)
Convert the provided Java object into anAttributeValue
.BigDecimal
transformTo(AttributeValue input)
Convert the providedAttributeValue
into a Java object.EnhancedType<BigDecimal>
type()
The type supported by this converter.
-
-
-
Method Detail
-
create
public static BigDecimalAttributeConverter create()
-
type
public EnhancedType<BigDecimal> type()
Description copied from interface:AttributeConverter
The type supported by this converter.- Specified by:
type
in interfaceAttributeConverter<BigDecimal>
-
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<BigDecimal>
-
transformFrom
public AttributeValue transformFrom(BigDecimal 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<BigDecimal>
-
transformTo
public BigDecimal 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<BigDecimal>
-
-