Class BaseContainerStore
java.lang.Object
org.datanucleus.store.rdbms.scostore.BaseContainerStore
- All Implemented Interfaces:
org.datanucleus.store.types.scostore.Store
- Direct Known Subclasses:
AbstractMapStore, ElementContainerStore, MapEntrySetStore
public abstract class BaseContainerStore
extends Object
implements org.datanucleus.store.types.scostore.Store
Base class for all mapped container stores (collections, maps, arrays).
Provides a series of helper methods for handling the store process.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanWhether the container allows null elements/values.protected org.datanucleus.ClassLoaderResolverprotected DatastoreAdapterDatastore adapter in use by this store.protected JavaTypeMappingMapping to the owner of the container.protected org.datanucleus.metadata.AbstractMemberMetaDataMetaData for the field/property in the owner with this container.protected org.datanucleus.metadata.RelationTypeType of relation (1-N uni, 1-N bi, M-N).protected RDBMSStoreManagerManager for the store. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedBaseContainerStore(RDBMSStoreManager storeMgr, org.datanucleus.ClassLoaderResolver clr) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanConvenience method to return if the datastore supports batching and the user wants batching.protected ComponentInfo[]getComponentInformationForClass(String componentType, org.datanucleus.metadata.AbstractClassMetaData componentCmd) Convenience method to find the element information relating to the element type.org.datanucleus.metadata.AbstractMemberMetaDataorg.datanucleus.metadata.RelationTypeorg.datanucleus.state.DNStateManagergetStateManagerForEmbeddedPCObject(org.datanucleus.state.DNStateManager ownerSM, Object obj, org.datanucleus.metadata.AbstractMemberMetaData ownerMmd, org.datanucleus.PersistableObjectType objectType) Method to return StateManager for an embedded PC object (element, key, value).protected booleanisEmbeddedMapping(JavaTypeMapping mapping) Check if the mapping correspond to a non pc object or embedded fieldprotected voidsetOwner(org.datanucleus.metadata.AbstractMemberMetaData mmd) Method to set the owner for this backing store.
-
Field Details
-
storeMgr
Manager for the store. -
dba
Datastore adapter in use by this store. -
ownerMapping
Mapping to the owner of the container. -
ownerMemberMetaData
protected org.datanucleus.metadata.AbstractMemberMetaData ownerMemberMetaDataMetaData for the field/property in the owner with this container. -
relationType
protected org.datanucleus.metadata.RelationType relationTypeType of relation (1-N uni, 1-N bi, M-N). -
allowNulls
protected boolean allowNullsWhether the container allows null elements/values. -
clr
protected org.datanucleus.ClassLoaderResolver clr
-
-
Constructor Details
-
BaseContainerStore
Constructor.- Parameters:
storeMgr- Manager for the datastore being usedclr- ClassLoader resolver
-
-
Method Details
-
setOwner
protected void setOwner(org.datanucleus.metadata.AbstractMemberMetaData mmd) Method to set the owner for this backing store. Sets the metadata of the owner field/property, as well as whether nulls are allowed, and the relation type.- Parameters:
mmd- MetaData for the member owning this backing store.
-
getStoreManager
- Specified by:
getStoreManagerin interfaceorg.datanucleus.store.types.scostore.Store
-
getOwnerMapping
-
getRelationType
public org.datanucleus.metadata.RelationType getRelationType() -
getOwnerMemberMetaData
public org.datanucleus.metadata.AbstractMemberMetaData getOwnerMemberMetaData()- Specified by:
getOwnerMemberMetaDatain interfaceorg.datanucleus.store.types.scostore.Store
-
getDatastoreAdapter
-
isEmbeddedMapping
Check if the mapping correspond to a non pc object or embedded field- Parameters:
mapping- the mapping- Returns:
- true if the field is embedded into one column
-
getStateManagerForEmbeddedPCObject
public org.datanucleus.state.DNStateManager getStateManagerForEmbeddedPCObject(org.datanucleus.state.DNStateManager ownerSM, Object obj, org.datanucleus.metadata.AbstractMemberMetaData ownerMmd, org.datanucleus.PersistableObjectType objectType) Method to return StateManager for an embedded PC object (element, key, value). It creates one if the element is not currently managed.- Parameters:
ownerSM- StateManager of the ownerobj- The embedded PC objectownerMmd- The meta data for the owner fieldobjectType- Type of object that is persisted embedded/serialised- Returns:
- StateManager for the embedded object
-
allowsBatching
protected boolean allowsBatching()Convenience method to return if the datastore supports batching and the user wants batching.- Returns:
- If batching of statements is permissible
-
getComponentInformationForClass
protected ComponentInfo[] getComponentInformationForClass(String componentType, org.datanucleus.metadata.AbstractClassMetaData componentCmd) Convenience method to find the element information relating to the element type. Used specifically for the "element-type" of a collection/array to find the elements which have table information.- Parameters:
componentType- Type of the componentcomponentCmd- Metadata for the root component class TODO Get rid of this- Returns:
- Element information relating to the element type
-