Class AbstractCollectionStore<E>
- java.lang.Object
-
- org.datanucleus.store.rdbms.scostore.BaseContainerStore
-
- org.datanucleus.store.rdbms.scostore.ElementContainerStore
-
- org.datanucleus.store.rdbms.scostore.AbstractCollectionStore<E>
-
- All Implemented Interfaces:
org.datanucleus.store.types.scostore.CollectionStore<E>,org.datanucleus.store.types.scostore.Store
- Direct Known Subclasses:
AbstractListStore,AbstractSetStore
public abstract class AbstractCollectionStore<E> extends ElementContainerStore implements org.datanucleus.store.types.scostore.CollectionStore<E>
Abstract representation of a store of a Collection. Contains all common parts of storing Sets and Lists.
-
-
Field Summary
Fields Modifier and Type Field Description protected StringcontainsStmt-
Fields inherited from class org.datanucleus.store.rdbms.scostore.ElementContainerStore
addStmt, clearStmt, containerTable, elementCmd, elementInfo, elementIsPersistentInterface, elementMapping, elementsAreEmbedded, elementsAreSerialised, elementType, iterateUsingDiscriminator, orderMapping, relationDiscriminatorMapping, relationDiscriminatorValue, removeStmt, sizeStmt
-
Fields inherited from class org.datanucleus.store.rdbms.scostore.BaseContainerStore
allowNulls, clr, dba, ownerMapping, ownerMemberMetaData, relationType, storeMgr
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractCollectionStore(RDBMSStoreManager storeMgr, org.datanucleus.ClassLoaderResolver clr)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancontains(org.datanucleus.state.DNStateManager sm, Object element)protected StringgetRemoveStmt(Object element)Generate statement for removing an element from the Collection.protected StringgetUpdateEmbeddedElementStmt(JavaTypeMapping fieldMapping)Generate statement for update the field of an embedded element.voidupdate(org.datanucleus.state.DNStateManager sm, Collection coll)booleanupdateEmbeddedElement(org.datanucleus.state.DNStateManager sm, E element, int fieldNumber, Object value)Method to update a field of an embedded element.-
Methods inherited from class org.datanucleus.store.rdbms.scostore.ElementContainerStore
clear, getAddStmtForJoinTable, getClearStmt, getComponentInfoForElement, getContainerTable, getElementClassMetaData, getElementMapping, getRelationDiscriminatorMapping, getRelationDiscriminatorValue, getSize, getSizeStmt, hasOrderMapping, invalidateAddStmt, isElementsAreEmbedded, isElementsAreSerialised, iterator, size, usingJoinTable, validateElementForReading, validateElementForWriting, validateElementType
-
Methods inherited from class org.datanucleus.store.rdbms.scostore.BaseContainerStore
allowsBatching, getComponentInformationForClass, 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
-
containsStmt
protected String containsStmt
-
-
Constructor Detail
-
AbstractCollectionStore
protected AbstractCollectionStore(RDBMSStoreManager storeMgr, org.datanucleus.ClassLoaderResolver clr)
Constructor.- Parameters:
storeMgr- Manager for the storeclr- ClassLoader resolver
-
-
Method Detail
-
update
public void update(org.datanucleus.state.DNStateManager sm, Collection coll)- Specified by:
updatein interfaceorg.datanucleus.store.types.scostore.CollectionStore<E>
-
contains
public boolean contains(org.datanucleus.state.DNStateManager sm, Object element)- Specified by:
containsin interfaceorg.datanucleus.store.types.scostore.CollectionStore<E>
-
getRemoveStmt
protected String getRemoveStmt(Object element)
Generate statement for removing an element from the Collection.DELETE FROM COLLTABLE WHERE OWNERCOL=? AND ELEMENTCOL = ?
- Parameters:
element- The element to remove- Returns:
- Statement for deleting an item from the Collection.
-
updateEmbeddedElement
public boolean updateEmbeddedElement(org.datanucleus.state.DNStateManager sm, E element, int fieldNumber, Object value)Method to update a field of an embedded element.- Specified by:
updateEmbeddedElementin interfaceorg.datanucleus.store.types.scostore.CollectionStore<E>- Parameters:
sm- StateManager of the ownerelement- The element to updatefieldNumber- The number of the field to updatevalue- The value- Returns:
- true if the datastore was updated
-
getUpdateEmbeddedElementStmt
protected String getUpdateEmbeddedElementStmt(JavaTypeMapping fieldMapping)
Generate statement for update the field of an embedded element.UPDATE SETTABLE SET EMBEDDEDFIELD1 = ? WHERE OWNERCOL=? AND ELEMENTCOL = ?
- Parameters:
fieldMapping- The mapping for the field within the embedded object to be updated- Returns:
- Statement for updating an embedded element in the Set
-
-