public class CassandraMappingContext extends AbstractMappingContext<BasicCassandraPersistentEntity<?>,CassandraPersistentProperty> implements ApplicationContextAware, BeanClassLoaderAware
MappingContext
for Cassandra using CassandraPersistentEntity
and
CassandraPersistentProperty
as primary abstractions.Constructor and Description |
---|
CassandraMappingContext()
Create a new
CassandraMappingContext . |
CassandraMappingContext(UserTypeResolver userTypeResolver,
TupleTypeFactory tupleTypeFactory)
|
Modifier and Type | Method and Description |
---|---|
protected Optional<BasicCassandraPersistentEntity<?>> |
addPersistentEntity(TypeInformation<?> typeInformation) |
protected <T> BasicCassandraPersistentEntity<T> |
createPersistentEntity(TypeInformation<T> typeInformation) |
protected CassandraPersistentProperty |
createPersistentProperty(Property property,
BasicCassandraPersistentEntity<?> owner,
SimpleTypeHolder simpleTypeHolder) |
com.datastax.oss.driver.api.core.type.codec.registry.CodecRegistry |
getCodecRegistry() |
List<CreateIndexSpecification> |
getCreateIndexSpecificationsFor(CassandraPersistentEntity<?> entity) |
CreateTableSpecification |
getCreateTableSpecificationFor(CassandraPersistentEntity<?> entity)
Returns a
CreateTableSpecification for the given entity, including all mapping information. |
CreateTableSpecification |
getCreateTableSpecificationFor(com.datastax.oss.driver.api.core.CqlIdentifier tableName,
CassandraPersistentEntity<?> entity)
Returns a
CreateTableSpecification for the given entity using tableName , including all mapping
information. |
CreateUserTypeSpecification |
getCreateUserTypeSpecificationFor(CassandraPersistentEntity<?> entity)
Returns a
CreateUserTypeSpecification for the given entity, including all mapping information. |
com.datastax.oss.driver.api.core.type.DataType |
getDataType(CassandraPersistentProperty property)
Retrieve the data type of the property.
|
com.datastax.oss.driver.api.core.type.DataType |
getDataType(Class<?> type)
Retrieve the data type based on the given
type . |
Collection<BasicCassandraPersistentEntity<?>> |
getTableEntities()
Returns only
Table entities. |
com.datastax.oss.driver.api.core.type.TupleType |
getTupleType(CassandraPersistentEntity<?> persistentEntity) |
protected TupleTypeFactory |
getTupleTypeFactory() |
Collection<CassandraPersistentEntity<?>> |
getUserDefinedTypeEntities()
Returns only those entities representing a user defined type.
|
protected UserTypeResolver |
getUserTypeResolver() |
CassandraPersistentEntityMetadataVerifier |
getVerifier() |
void |
initialize() |
void |
setApplicationContext(ApplicationContext applicationContext) |
void |
setBeanClassLoader(ClassLoader beanClassLoader) |
void |
setCodecRegistry(com.datastax.oss.driver.api.core.type.codec.registry.CodecRegistry codecRegistry)
Sets the
CodecRegistry . |
void |
setCustomConversions(CustomConversions customConversions)
Sets the
CustomConversions . |
void |
setMapping(Mapping mapping)
Sets the
Mapping . |
void |
setTupleTypeFactory(TupleTypeFactory tupleTypeFactory)
Sets the
TupleTypeFactory . |
void |
setUserTypeResolver(UserTypeResolver userTypeResolver)
Sets the
UserTypeResolver . |
void |
setVerifier(CassandraPersistentEntityMetadataVerifier verifier) |
protected boolean |
shouldCreatePersistentEntityFor(TypeInformation<?> typeInfo) |
boolean |
usesTable(com.datastax.oss.driver.api.core.CqlIdentifier name)
Returns whether this mapping context has any entities mapped to the given table.
|
boolean |
usesUserType(com.datastax.oss.driver.api.core.CqlIdentifier name)
Returns whether this mapping context has any entities using the given user type.
|
addPersistentEntity, afterPropertiesSet, doFindPersistentPropertyPaths, findPersistentPropertyPaths, getManagedTypes, getPersistentEntities, getPersistentEntity, getPersistentEntity, getPersistentEntity, getPersistentPropertyPath, getPersistentPropertyPath, hasPersistentEntityFor, setApplicationEventPublisher, setInitialEntitySet, setSimpleTypeHolder, setStrict
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getRequiredPersistentEntity, getRequiredPersistentEntity, getRequiredPersistentEntity
public CassandraMappingContext()
CassandraMappingContext
.public CassandraMappingContext(UserTypeResolver userTypeResolver, TupleTypeFactory tupleTypeFactory)
userTypeResolver
- must not be null.tupleTypeFactory
- must not be null.public void initialize()
initialize
in class AbstractMappingContext<BasicCassandraPersistentEntity<?>,CassandraPersistentProperty>
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException
setApplicationContext
in interface ApplicationContextAware
setApplicationContext
in class AbstractMappingContext<BasicCassandraPersistentEntity<?>,CassandraPersistentProperty>
BeansException
public void setBeanClassLoader(ClassLoader beanClassLoader)
setBeanClassLoader
in interface BeanClassLoaderAware
public void setCustomConversions(CustomConversions customConversions)
CustomConversions
.customConversions
- must not be null.public void setMapping(Mapping mapping)
Mapping
.mapping
- must not be null.public Collection<BasicCassandraPersistentEntity<?>> getTableEntities()
Table
entities.public Collection<CassandraPersistentEntity<?>> getUserDefinedTypeEntities()
public void setCodecRegistry(com.datastax.oss.driver.api.core.type.codec.registry.CodecRegistry codecRegistry)
CodecRegistry
.codecRegistry
- must not be null.@NonNull public com.datastax.oss.driver.api.core.type.codec.registry.CodecRegistry getCodecRegistry()
public void setTupleTypeFactory(TupleTypeFactory tupleTypeFactory)
TupleTypeFactory
.tupleTypeFactory
- must not be null.@NonNull protected TupleTypeFactory getTupleTypeFactory()
public void setUserTypeResolver(UserTypeResolver userTypeResolver)
UserTypeResolver
.userTypeResolver
- must not be null.@Nullable protected UserTypeResolver getUserTypeResolver()
public void setVerifier(CassandraPersistentEntityMetadataVerifier verifier)
verifier
- The verifier to set.public CassandraPersistentEntityMetadataVerifier getVerifier()
protected Optional<BasicCassandraPersistentEntity<?>> addPersistentEntity(TypeInformation<?> typeInformation)
addPersistentEntity
in class AbstractMappingContext<BasicCassandraPersistentEntity<?>,CassandraPersistentProperty>
protected boolean shouldCreatePersistentEntityFor(TypeInformation<?> typeInfo)
protected <T> BasicCassandraPersistentEntity<T> createPersistentEntity(TypeInformation<T> typeInformation)
createPersistentEntity
in class AbstractMappingContext<BasicCassandraPersistentEntity<?>,CassandraPersistentProperty>
protected CassandraPersistentProperty createPersistentProperty(Property property, BasicCassandraPersistentEntity<?> owner, SimpleTypeHolder simpleTypeHolder)
createPersistentProperty
in class AbstractMappingContext<BasicCassandraPersistentEntity<?>,CassandraPersistentProperty>
public boolean usesTable(com.datastax.oss.driver.api.core.CqlIdentifier name)
name
- must not be null.public boolean usesUserType(com.datastax.oss.driver.api.core.CqlIdentifier name)
name
- must not be null.public CreateTableSpecification getCreateTableSpecificationFor(CassandraPersistentEntity<?> entity)
CreateTableSpecification
for the given entity, including all mapping information.entity
- must not be null.public CreateTableSpecification getCreateTableSpecificationFor(com.datastax.oss.driver.api.core.CqlIdentifier tableName, CassandraPersistentEntity<?> entity)
CreateTableSpecification
for the given entity using tableName
, including all mapping
information.tableName
- must not be null.entity
- must not be null.public List<CreateIndexSpecification> getCreateIndexSpecificationsFor(CassandraPersistentEntity<?> entity)
entity
- must not be null.public CreateUserTypeSpecification getCreateUserTypeSpecificationFor(CassandraPersistentEntity<?> entity)
CreateUserTypeSpecification
for the given entity, including all mapping information.entity
- must not be null.public com.datastax.oss.driver.api.core.type.DataType getDataType(Class<?> type)
type
. Cassandra types
are determined using
simple types and configured CustomConversions
.type
- must not be null.type
.CustomConversions
,
CassandraSimpleTypeHolder
public com.datastax.oss.driver.api.core.type.TupleType getTupleType(CassandraPersistentEntity<?> persistentEntity)
public com.datastax.oss.driver.api.core.type.DataType getDataType(CassandraPersistentProperty property)
types
are determined using simple types and
configured CustomConversions
.property
- must not be null.type
.CustomConversions
,
CassandraSimpleTypeHolder
Copyright © 2011–2020 Pivotal Software, Inc.. All rights reserved.