Class StaticTableSchema<T>
java.lang.Object
software.amazon.awssdk.enhanced.dynamodb.mapper.WrappedTableSchema<T,StaticImmutableTableSchema<T,T>>
software.amazon.awssdk.enhanced.dynamodb.mapper.StaticTableSchema<T>
- All Implemented Interfaces:
TableSchema<T>
@ThreadSafe
public final class StaticTableSchema<T>
extends WrappedTableSchema<T,StaticImmutableTableSchema<T,T>>
Implementation of
TableSchema
that builds a schema based on directly declared attributes and methods to
get and set those attributes. Just like StaticImmutableTableSchema
which is the equivalent implementation for
immutable objects, this is the most direct, and thus fastest, implementation of TableSchema
.
Example using a fictional 'Customer' data item class:-
static final TableSchema<Customer> CUSTOMER_TABLE_SCHEMA =
StaticTableSchema.builder(Customer.class)
.newItemSupplier(Customer::new)
.addAttribute(String.class, a -> a.name("account_id")
.getter(Customer::getAccountId)
.setter(Customer::setAccountId)
.tags(primaryPartitionKey()))
.addAttribute(Integer.class, a -> a.name("sub_id")
.getter(Customer::getSubId)
.setter(Customer::setSubId)
.tags(primarySortKey()))
.addAttribute(String.class, a -> a.name("name")
.getter(Customer::getName)
.setter(Customer::setName)
.tags(secondaryPartitionKey("customers_by_name")))
.addAttribute(Instant.class, a -> a.name("created_date")
.getter(Customer::getCreatedDate)
.setter(Customer::setCreatedDate)
.tags(secondarySortKey("customers_by_date"),
secondarySortKey("customers_by_name")))
.build();
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionThe table schemaAttributeConverterProvider
.static <T> StaticTableSchema.Builder
<T> Creates a builder for aStaticTableSchema
typed to specific data item class.static <T> StaticTableSchema.Builder
<T> builder
(EnhancedType<T> itemType) Creates a builder for aStaticTableSchema
typed to specific data item class.Methods inherited from class software.amazon.awssdk.enhanced.dynamodb.mapper.WrappedTableSchema
attributeNames, attributeValue, converterForAttribute, isAbstract, itemToMap, itemToMap, itemType, mapToItem, mapToItem, tableMetadata
-
Method Details
-
builder
Creates a builder for aStaticTableSchema
typed to specific data item class.- Parameters:
itemClass
- The data item class object that theStaticTableSchema
is to map to.- Returns:
- A newly initialized builder
-
builder
Creates a builder for aStaticTableSchema
typed to specific data item class.- Parameters:
itemType
- TheEnhancedType
of the data item class object that theStaticTableSchema
is to map to.- Returns:
- A newly initialized builder
-
attributeConverterProvider
The table schemaAttributeConverterProvider
.- See Also:
-