Class DynamoDBIdIsHashAndRangeKeyEntityInformationImpl<T,ID>
- java.lang.Object
-
- org.springframework.data.repository.core.support.AbstractEntityInformation<T,ID>
-
- org.socialsignin.spring.data.dynamodb.repository.support.FieldAndGetterReflectionEntityInformation<T,ID>
-
- org.socialsignin.spring.data.dynamodb.repository.support.DynamoDBIdIsHashAndRangeKeyEntityInformationImpl<T,ID>
-
- All Implemented Interfaces:
DynamoDBEntityInformation<T,ID>,DynamoDBHashAndRangeKeyExtractingEntityMetadata<T,ID>,DynamoDBHashKeyExtractingEntityMetadata<T>,DynamoDBIdIsHashAndRangeKeyEntityInformation<T,ID>,org.springframework.data.repository.core.EntityInformation<T,ID>,org.springframework.data.repository.core.EntityMetadata<T>
public class DynamoDBIdIsHashAndRangeKeyEntityInformationImpl<T,ID> extends FieldAndGetterReflectionEntityInformation<T,ID> implements DynamoDBIdIsHashAndRangeKeyEntityInformation<T,ID>
Encapsulates minimal information needed to load DynamoDB entities that have both hash and range key, and have a composite id attribute annotated withId. Delegates to metadata and hashKeyExtractor components for all operations.- Author:
- Michael Lavelle, Sebastian Just
-
-
Field Summary
-
Fields inherited from class org.socialsignin.spring.data.dynamodb.repository.support.FieldAndGetterReflectionEntityInformation
method
-
-
Constructor Summary
Constructors Constructor Description DynamoDBIdIsHashAndRangeKeyEntityInformationImpl(java.lang.Class<T> domainClass, DynamoDBHashAndRangeKeyExtractingEntityMetadata<T,ID> metadata)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringgetDynamoDBTableName()java.util.Map<java.lang.String,java.lang.String[]>getGlobalSecondaryIndexNamesByPropertyName()<H> HashAndRangeKeyExtractor<ID,H>getHashAndRangeKeyExtractor(java.lang.Class<ID> idClass)java.lang.ObjectgetHashKey(ID id)java.lang.StringgetHashKeyPropertyName()<H> TgetHashKeyPropotypeEntityForHashKey(H hashKey)java.util.Set<java.lang.String>getIndexRangeKeyPropertyNames()java.util.Optional<java.lang.Integer>getLimit()<V extends com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMarshaller<?>>
VgetMarshallerForProperty(java.lang.String propertyName)java.util.Optional<java.lang.String>getOverriddenAttributeName(java.lang.String attributeName)java.util.Optional<java.lang.String>getProjection()java.lang.ObjectgetRangeKey(ID id)java.lang.StringgetRangeKeyPropertyName()com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBTypeConverter<?,?>getTypeConverterForProperty(java.lang.String propertyName)booleanisCompositeHashAndRangeKeyProperty(java.lang.String propertyName)booleanisGlobalIndexHashKeyProperty(java.lang.String propertyName)booleanisGlobalIndexRangeKeyProperty(java.lang.String propertyName)booleanisHashKeyProperty(java.lang.String propertyName)booleanisRangeKeyAware()-
Methods inherited from class org.socialsignin.spring.data.dynamodb.repository.support.FieldAndGetterReflectionEntityInformation
getId, getIdType
-
Methods inherited from class org.springframework.data.repository.core.support.AbstractEntityInformation
getJavaType, isNew
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
-
-
Constructor Detail
-
DynamoDBIdIsHashAndRangeKeyEntityInformationImpl
public DynamoDBIdIsHashAndRangeKeyEntityInformationImpl(java.lang.Class<T> domainClass, DynamoDBHashAndRangeKeyExtractingEntityMetadata<T,ID> metadata)
-
-
Method Detail
-
getProjection
public java.util.Optional<java.lang.String> getProjection()
- Specified by:
getProjectionin interfaceDynamoDBEntityInformation<T,ID>
-
getLimit
public java.util.Optional<java.lang.Integer> getLimit()
- Specified by:
getLimitin interfaceDynamoDBEntityInformation<T,ID>
-
isRangeKeyAware
public boolean isRangeKeyAware()
- Specified by:
isRangeKeyAwarein interfaceDynamoDBEntityInformation<T,ID>
-
getHashKey
public java.lang.Object getHashKey(ID id)
- Specified by:
getHashKeyin interfaceDynamoDBEntityInformation<T,ID>
-
getRangeKey
public java.lang.Object getRangeKey(ID id)
- Specified by:
getRangeKeyin interfaceDynamoDBEntityInformation<T,ID>
-
getOverriddenAttributeName
public java.util.Optional<java.lang.String> getOverriddenAttributeName(java.lang.String attributeName)
- Specified by:
getOverriddenAttributeNamein interfaceDynamoDBHashKeyExtractingEntityMetadata<T>
-
isHashKeyProperty
public boolean isHashKeyProperty(java.lang.String propertyName)
- Specified by:
isHashKeyPropertyin interfaceDynamoDBHashKeyExtractingEntityMetadata<T>
-
isCompositeHashAndRangeKeyProperty
public boolean isCompositeHashAndRangeKeyProperty(java.lang.String propertyName)
- Specified by:
isCompositeHashAndRangeKeyPropertyin interfaceDynamoDBEntityInformation<T,ID>- Specified by:
isCompositeHashAndRangeKeyPropertyin interfaceDynamoDBHashAndRangeKeyExtractingEntityMetadata<T,ID>
-
getRangeKeyPropertyName
public java.lang.String getRangeKeyPropertyName()
- Specified by:
getRangeKeyPropertyNamein interfaceDynamoDBHashAndRangeKeyExtractingEntityMetadata<T,ID>
-
getMarshallerForProperty
public <V extends com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMarshaller<?>> V getMarshallerForProperty(java.lang.String propertyName)
- Specified by:
getMarshallerForPropertyin interfaceDynamoDBHashKeyExtractingEntityMetadata<T>
-
getTypeConverterForProperty
public com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBTypeConverter<?,?> getTypeConverterForProperty(java.lang.String propertyName)
- Specified by:
getTypeConverterForPropertyin interfaceDynamoDBHashKeyExtractingEntityMetadata<T>
-
getIndexRangeKeyPropertyNames
public java.util.Set<java.lang.String> getIndexRangeKeyPropertyNames()
- Specified by:
getIndexRangeKeyPropertyNamesin interfaceDynamoDBHashAndRangeKeyExtractingEntityMetadata<T,ID>
-
getHashKeyPropertyName
public java.lang.String getHashKeyPropertyName()
- Specified by:
getHashKeyPropertyNamein interfaceDynamoDBHashKeyExtractingEntityMetadata<T>
-
getHashAndRangeKeyExtractor
public <H> HashAndRangeKeyExtractor<ID,H> getHashAndRangeKeyExtractor(java.lang.Class<ID> idClass)
- Specified by:
getHashAndRangeKeyExtractorin interfaceDynamoDBHashAndRangeKeyExtractingEntityMetadata<T,ID>
-
getDynamoDBTableName
public java.lang.String getDynamoDBTableName()
- Specified by:
getDynamoDBTableNamein interfaceDynamoDBHashKeyExtractingEntityMetadata<T>
-
getGlobalSecondaryIndexNamesByPropertyName
public java.util.Map<java.lang.String,java.lang.String[]> getGlobalSecondaryIndexNamesByPropertyName()
- Specified by:
getGlobalSecondaryIndexNamesByPropertyNamein interfaceDynamoDBHashKeyExtractingEntityMetadata<T>
-
getHashKeyPropotypeEntityForHashKey
public <H> T getHashKeyPropotypeEntityForHashKey(H hashKey)
- Specified by:
getHashKeyPropotypeEntityForHashKeyin interfaceDynamoDBHashAndRangeKeyExtractingEntityMetadata<T,ID>
-
isGlobalIndexHashKeyProperty
public boolean isGlobalIndexHashKeyProperty(java.lang.String propertyName)
- Specified by:
isGlobalIndexHashKeyPropertyin interfaceDynamoDBHashKeyExtractingEntityMetadata<T>
-
isGlobalIndexRangeKeyProperty
public boolean isGlobalIndexRangeKeyProperty(java.lang.String propertyName)
- Specified by:
isGlobalIndexRangeKeyPropertyin interfaceDynamoDBHashKeyExtractingEntityMetadata<T>
-
-