Class BigDecimalAttributeConverter
- java.lang.Object
-
- software.amazon.awssdk.enhanced.dynamodb.internal.converter.attribute.BigDecimalAttributeConverter
-
- All Implemented Interfaces:
AttributeConverter<BigDecimal>
@SdkInternalApi @ThreadSafe @Immutable public final class BigDecimalAttributeConverter extends Object implements AttributeConverter<BigDecimal>
A converter betweenBigDecimalandAttributeValue.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
FloatAttributeConverterorDoubleAttributeConverter.If values are known to be whole numbers, it is recommended to use a perfect-precision whole number representation like those provided by
ShortAttributeConverter,IntegerAttributeConverterorBigIntegerAttributeConverter.This can be created via
create().
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description AttributeValueTypeattributeValueType()TheAttributeValueTypethat a converter stores and reads values from DynamoDB via theAttributeValueclass.static BigDecimalAttributeConvertercreate()AttributeValuetransformFrom(BigDecimal input)Convert the provided Java object into anAttributeValue.BigDecimaltransformTo(AttributeValue input)Convert the providedAttributeValueinto 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:AttributeConverterThe type supported by this converter.- Specified by:
typein interfaceAttributeConverter<BigDecimal>
-
attributeValueType
public AttributeValueType attributeValueType()
Description copied from interface:AttributeConverterTheAttributeValueTypethat a converter stores and reads values from DynamoDB via theAttributeValueclass.- Specified by:
attributeValueTypein interfaceAttributeConverter<BigDecimal>
-
transformFrom
public AttributeValue transformFrom(BigDecimal input)
Description copied from interface:AttributeConverterConvert the provided Java object into anAttributeValue. This will raise aRuntimeExceptionif 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:
transformFromin interfaceAttributeConverter<BigDecimal>
-
transformTo
public BigDecimal transformTo(AttributeValue input)
Description copied from interface:AttributeConverterConvert the providedAttributeValueinto a Java object. This will raise aRuntimeExceptionif 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:
transformToin interfaceAttributeConverter<BigDecimal>
-
-