Interface StaticAttributeTag
- All Known Implementing Classes:
AtomicCounterTag
,UpdateBehaviorTag
Interface for a tag that can be applied to any
StaticAttribute
. When a tagged attribute is added to a
TableSchema
, the table metadata stored on the schema will be updated
by calling the modifyMetadata(String, AttributeValueType)
method for every tag associated with the
attribute.
Common implementations of this interface that can be used to declare indices in your schema can be found in
StaticAttributeTags
.
-
Method Summary
Modifier and TypeMethodDescriptionmodifyMetadata
(String attributeName, AttributeValueType attributeValueType) A function that modifies an existingStaticTableSchema.Builder
when this tag is applied to a specific attribute.default <R> void
validateType
(String attributeName, EnhancedType<R> enhancedType, AttributeValueType attributeValueType) Function that validates the Converted return type is suitable for the extension.
-
Method Details
-
modifyMetadata
Consumer<StaticTableMetadata.Builder> modifyMetadata(String attributeName, AttributeValueType attributeValueType) A function that modifies an existingStaticTableSchema.Builder
when this tag is applied to a specific attribute. This will be used by theStaticTableSchema
to capture all the metadata associated with tagged attributes when constructing the table schema.- Parameters:
attributeName
- The name of the attribute this tag has been applied to.attributeValueType
- The type of the attribute this tag has been applied to. This can be used for validation, for instance if you have an attribute tag that should only be associated with a string.- Returns:
- a consumer that modifies an existing
StaticTableSchema.Builder
.
-
validateType
default <R> void validateType(String attributeName, EnhancedType<R> enhancedType, AttributeValueType attributeValueType) Function that validates the Converted return type is suitable for the extension.- Type Parameters:
R
- the class that the value of this attribute converts to.- Parameters:
attributeName
- The name of the attribute this tag has been applied to.enhancedType
- The type of the object to be convertedattributeValueType
- Attribute Value type of the attribute.
-