T
- The type of model object that is being mapped to records in the DynamoDb table.public interface TableSchema<T>
AttributeValue
that is
understood by the DynamoDb low-level SDK and back again. This object is also expected to know about the
structure of the table it is modelling, which is stored in a TableMetadata
object.Modifier and Type | Method and Description |
---|---|
static StaticTableSchema.GenericBuilder |
builder()
Returns a builder for the default implementation of this interface which is an immutable, declarative, type-safe
mapper.
|
AttributeValue |
getAttributeValue(T item,
String key)
Returns a single attribute value from the modelled object.
|
TableMetadata |
getTableMetadata()
Returns the object that describes the structure of the table being modelled by the mapper.
|
Map<String,AttributeValue> |
itemToMap(T item,
boolean ignoreNulls)
Takes a modelled object and converts it into a raw map of
AttributeValue that the DynamoDb low-level
SDK can work with. |
Map<String,AttributeValue> |
itemToMap(T item,
Collection<String> attributes)
Takes a modelled object and extracts a specific set of attributes which are then returned as a map of
AttributeValue that the DynamoDb low-level SDK can work with. |
T |
mapToItem(Map<String,AttributeValue> attributeMap)
Takes a raw DynamoDb SDK representation of a record in a table and maps it to a Java object.
|
T mapToItem(Map<String,AttributeValue> attributeMap)
attributeMap
- A map of String to AttributeValue
that contains all the raw attributes to map.IllegalArgumentException
- if any attributes in the map could not be mapped onto the new model object.Map<String,AttributeValue> itemToMap(T item, boolean ignoreNulls)
AttributeValue
that the DynamoDb low-level
SDK can work with.item
- The modelled Java object to convert into a map of attributes.ignoreNulls
- If set to true; any null values in the Java object will not be added to the output map.
If set to false; null values in the Java object will be added as AttributeValue
of
type 'nul' to the output map.AttributeValue
representing all the modelled attributes in the model object.Map<String,AttributeValue> itemToMap(T item, Collection<String> attributes)
AttributeValue
that the DynamoDb low-level SDK can work with. This method is typically used to extract
just the key attributes of a modelled item and will not ignore nulls on the modelled object.item
- The modelled Java object to extract the map of attributes from.attributes
- A collection of attribute names to extract into the output map.AttributeValue
representing the requested modelled attributes in the model
object.AttributeValue getAttributeValue(T item, String key)
item
- The modelled Java object to extract the attribute from.key
- The attribute name describing which attribute to extract.AttributeValue
representing the requested modelled attribute in the model object or
null if the attribute has not been set with a value in the modelled object.TableMetadata getTableMetadata()
TableMetadata
object that contains structural information about the table being modelled.static StaticTableSchema.GenericBuilder builder()
StaticTableSchema
for more information.StaticTableSchema
.Copyright © 2019. All rights reserved.