|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.datanucleus.store.mapped.scostore.BaseContainerStore
org.datanucleus.store.mapped.scostore.ElementContainerStore
public abstract class ElementContainerStore
Representation of the store of an element-based container. This is used to represent either a collection or an array. There are the following types of situation that we try to cater for with respect to elements.
| Nested Class Summary | |
|---|---|
class |
ElementContainerStore.ElementInfo
Inner class wrapping the information required for a valid element type. |
| Field Summary | |
|---|---|
protected ClassLoaderResolver |
clr
ClassLoader resolver. |
protected DatastoreContainerObject |
containerTable
Table containing the link between owner and element. |
protected ElementContainerStore.ElementInfo[] |
elementInfo
Information for the elements of this container. |
protected boolean |
elementIsPersistentInterface
Whether the element is of a persistent-interface (defined using " |
protected JavaTypeMapping |
elementMapping
Mapping for the element. |
protected boolean |
elementsAreEmbedded
Whether the elements are embedded. |
protected boolean |
elementsAreSerialised
Whether the elements are serialised. |
protected java.lang.String |
elementType
Type of the element. |
protected AbstractClassMetaData |
emd
MetaData for the "element-type" class. |
protected boolean |
iterateUsingDiscriminator
Flag to set whether the iterator statement will use a discriminator or not. |
protected JavaTypeMapping |
orderMapping
Mapping for an ordering column to allow for duplicates in the container. |
protected JavaTypeMapping |
relationDiscriminatorMapping
Optional mapping to distinguish elements of one collection from another when sharing the join table. |
protected java.lang.String |
relationDiscriminatorValue
Value to use to discriminate between elements of this collection from others using the same join table. |
protected ElementContainerStoreSpecialization |
specialization
Specialization. |
| Fields inherited from class org.datanucleus.store.mapped.scostore.BaseContainerStore |
|---|
allowsNull, dba, LOCALISER, ownerMapping, ownerMemberMetaData, relationType, storeMgr |
| Constructor Summary | |
|---|---|
protected |
ElementContainerStore(StoreManager storeMgr,
ClassLoaderResolver clr,
ElementContainerStoreSpecialization elementContainerStoreSpecialization)
Constructor. |
| Method Summary | |
|---|---|
void |
clear(StateManager ownerSM)
Clear the association from owner to all elements. |
DatastoreContainerObject |
getContainerTable()
|
ElementContainerStore.ElementInfo[] |
getElementInfo()
|
protected ElementContainerStore.ElementInfo[] |
getElementInformationForClass()
Convenience method to find the element information relating to the element type. |
JavaTypeMapping |
getElementMapping()
|
java.lang.String |
getElementType()
Accessor for the element type stored in this container. |
AbstractClassMetaData |
getEmd()
|
JavaTypeMapping |
getOrderMapping()
|
JavaTypeMapping |
getRelationDiscriminatorMapping()
|
java.lang.String |
getRelationDiscriminatorValue()
|
boolean |
hasOrderMapping()
Accessor for whether the store has an order mapping, to allow for duplicates or ordering. |
boolean |
isElementsAreEmbedded()
|
boolean |
isElementsAreSerialised()
|
abstract java.util.Iterator |
iterator(StateManager ownerSM)
Accessor for an iterator through the container elements. |
int |
size(StateManager sm)
Method to return the size of the container. |
protected boolean |
validateElementForReading(StateManager sm,
java.lang.Object element)
Method to check if an element is already persistent or is persistent but managed by a different persistence manager. |
protected boolean |
validateElementForWriting(StateManager sm,
java.lang.Object element,
FieldValues fieldValues)
Method to check if an element is already persistent, or is managed by a different Persistencemanager. |
protected boolean |
validateElementType(ClassLoaderResolver clr,
java.lang.Object element)
Method to validate an element against the accepted type. |
| Methods inherited from class org.datanucleus.store.mapped.scostore.BaseContainerStore |
|---|
allowsBatching, getDatastoreAdapter, getOwnerMapping, getOwnerMemberMetaData, getRelationType, getStateManagerForEmbeddedPCObject, getStoreManager, isEmbeddedMapping, setOwner |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected boolean iterateUsingDiscriminator
protected ElementContainerStore.ElementInfo[] elementInfo
protected AbstractClassMetaData emd
protected DatastoreContainerObject containerTable
protected JavaTypeMapping elementMapping
protected java.lang.String elementType
protected boolean elementsAreEmbedded
protected boolean elementsAreSerialised
protected boolean elementIsPersistentInterface
protected JavaTypeMapping orderMapping
protected JavaTypeMapping relationDiscriminatorMapping
protected java.lang.String relationDiscriminatorValue
protected ClassLoaderResolver clr
protected final ElementContainerStoreSpecialization specialization
| Constructor Detail |
|---|
protected ElementContainerStore(StoreManager storeMgr,
ClassLoaderResolver clr,
ElementContainerStoreSpecialization elementContainerStoreSpecialization)
storeMgr - Manager for the storeclr - ClassLoader resolver| Method Detail |
|---|
public ElementContainerStore.ElementInfo[] getElementInfo()
public JavaTypeMapping getElementMapping()
public JavaTypeMapping getOrderMapping()
public JavaTypeMapping getRelationDiscriminatorMapping()
public java.lang.String getRelationDiscriminatorValue()
public DatastoreContainerObject getContainerTable()
public AbstractClassMetaData getEmd()
public boolean isElementsAreSerialised()
public boolean isElementsAreEmbedded()
protected ElementContainerStore.ElementInfo[] getElementInformationForClass()
public boolean hasOrderMapping()
public java.lang.String getElementType()
protected boolean validateElementType(ClassLoaderResolver clr,
java.lang.Object element)
clr - The ClassLoaderResolverelement - The element to validate
protected boolean validateElementForReading(StateManager sm,
java.lang.Object element)
sm - The state manager of this ownerelement - The element
protected boolean validateElementForWriting(StateManager sm,
java.lang.Object element,
FieldValues fieldValues)
sm - The state manager of this ownerelement - The elementfieldValues - any initial field values to use if persisting the element
public abstract java.util.Iterator iterator(StateManager ownerSM)
ownerSM - State Manager for the container.
public void clear(StateManager ownerSM)
ownerSM - State Manager for the container.public int size(StateManager sm)
sm - The state manager.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||