@ThreadSafe @Immutable public final class InstantAsStringAttributeConverter extends Object implements AttributeConverter<Instant>
Instant and AttributeValue.
This stores values in DynamoDB as a string.
Values are stored in ISO-8601 format, with nanosecond precision and a time zone of UTC.
Examples:
Instant.EPOCH.plusSeconds(1) is stored as
an AttributeValue with the String "1970-01-01T00:00:01Z"Instant.EPOCH.minusSeconds(1) is stored as
an AttributeValue with the String "1969-12-31T23:59:59Z"Instant.EPOCH.plusMillis(1) is stored as
an AttributeValue with the String "1970-01-01T00:00:00.001Z"Instant.EPOCH.minusMillis(1) is stored as
an AttributeValue with the String "1969-12-31T23:59:59.999Z"Instant.EPOCH.plusNanos(1) is stored as
an AttributeValue with the String "1970-01-01T00:00:00.000000001Z"Instant.EPOCH.minusNanos(1) is stored as
an AttributeValue with the String "1969-12-31T23:59:59.999999999Z"Instant for more details on the serialization format.
This converter can read any values written by itself, or values with zero offset written by
OffsetDateTimeAsStringAttributeConverter, and values with zero offset and without time zone named written by
ZoneOffsetAttributeConverter. Offset and zoned times will be automatically converted to the
equivalent Instant.
This serialization is lexicographically orderable when the year is not negative.
This can be created via create().
| Modifier and Type | Method and Description |
|---|---|
AttributeValueType |
attributeValueType()
The
AttributeValueType that a converter stores and reads values
from DynamoDB via the AttributeValue class. |
static InstantAsStringAttributeConverter |
create() |
AttributeValue |
transformFrom(Instant input)
Convert the provided Java object into an
AttributeValue. |
Instant |
transformTo(AttributeValue input)
Convert the provided
AttributeValue into a Java object. |
EnhancedType<Instant> |
type()
The type supported by this converter.
|
public static InstantAsStringAttributeConverter create()
public EnhancedType<Instant> type()
AttributeConvertertype in interface AttributeConverter<Instant>public AttributeValueType attributeValueType()
AttributeConverterAttributeValueType that a converter stores and reads values
from DynamoDB via the AttributeValue class.attributeValueType in interface AttributeConverter<Instant>public AttributeValue transformFrom(Instant input)
AttributeConverterAttributeValue. This will raise a RuntimeException 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());
transformFrom in interface AttributeConverter<Instant>public Instant transformTo(AttributeValue input)
AttributeConverterAttributeValue into a Java object. This will raise a RuntimeException 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);
transformTo in interface AttributeConverter<Instant>Copyright © 2023. All rights reserved.