@ThreadSafe @Immutable public final class ByteBufferAttributeConverter extends Object implements AttributeConverter<ByteBuffer>
ByteBuffer
and AttributeValue
.
This stores values in DynamoDB as a binary blob.
This supports reading every byte value supported by DynamoDB, making it fully compatible with custom converters as
well as internal converters (e.g. SdkBytesAttributeConverter
).
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 ByteBufferAttributeConverter |
create() |
AttributeValue |
transformFrom(ByteBuffer input)
Convert the provided Java object into an
AttributeValue . |
ByteBuffer |
transformTo(AttributeValue input)
Convert the provided
AttributeValue into a Java object. |
EnhancedType<ByteBuffer> |
type()
The type supported by this converter.
|
public static ByteBufferAttributeConverter create()
public EnhancedType<ByteBuffer> type()
AttributeConverter
type
in interface AttributeConverter<ByteBuffer>
public AttributeValueType attributeValueType()
AttributeConverter
AttributeValueType
that a converter stores and reads values
from DynamoDB via the AttributeValue
class.attributeValueType
in interface AttributeConverter<ByteBuffer>
public AttributeValue transformFrom(ByteBuffer input)
AttributeConverter
AttributeValue
. 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<ByteBuffer>
public ByteBuffer transformTo(AttributeValue input)
AttributeConverter
AttributeValue
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<ByteBuffer>
Copyright © 2021. All rights reserved.