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 boolean
Whether the container allows null elements/values.protected org.datanucleus.ClassLoaderResolver
protected DatastoreAdapter
Datastore adapter in use by this store.protected JavaTypeMapping
Mapping to the owner of the container.protected org.datanucleus.metadata.AbstractMemberMetaData
MetaData for the field/property in the owner with this container.protected org.datanucleus.metadata.RelationType
Type of relation (1-N uni, 1-N bi, M-N).protected RDBMSStoreManager
Manager for the store. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
BaseContainerStore
(RDBMSStoreManager storeMgr, org.datanucleus.ClassLoaderResolver clr) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
Convenience 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.AbstractMemberMetaData
org.datanucleus.metadata.RelationType
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).protected boolean
isEmbeddedMapping
(JavaTypeMapping mapping) Check if the mapping correspond to a non pc object or embedded fieldprotected void
setOwner
(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:
getStoreManager
in interfaceorg.datanucleus.store.types.scostore.Store
-
getOwnerMapping
-
getRelationType
public org.datanucleus.metadata.RelationType getRelationType() -
getOwnerMemberMetaData
public org.datanucleus.metadata.AbstractMemberMetaData getOwnerMemberMetaData()- Specified by:
getOwnerMemberMetaData
in 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
-