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 aStaticTableSchematyped to specific data item class.static <T> StaticTableSchema.Builder<T> builder(EnhancedType<T> itemType) Creates a builder for aStaticTableSchematyped 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 aStaticTableSchematyped to specific data item class.- Parameters:
itemClass- The data item class object that theStaticTableSchemais to map to.- Returns:
- A newly initialized builder
-
builder
Creates a builder for aStaticTableSchematyped to specific data item class.- Parameters:
itemType- TheEnhancedTypeof the data item class object that theStaticTableSchemais to map to.- Returns:
- A newly initialized builder
-
attributeConverterProvider
The table schemaAttributeConverterProvider.- See Also:
-