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.ObjectProvider op, Object element)Method to verify if the specified element is contained in this collection.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.ObjectProvider op, Collection coll)Method to update the collection to be the supplied collection of elements.booleanupdateEmbeddedElement(org.datanucleus.state.ObjectProvider op, E element, int fieldNumber, Object value)Method to update a field of an embedded element.booleanupdateEmbeddedElement(org.datanucleus.state.ObjectProvider op, E element, int fieldNumber, Object value, JavaTypeMapping fieldMapping)-
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, getObjectProviderForEmbeddedPCObject, getOwnerMapping, getOwnerMemberMetaData, getRelationType, 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
-
updateEmbeddedElement
public boolean updateEmbeddedElement(org.datanucleus.state.ObjectProvider op, 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:
op- ObjectProvider of the ownerelement- The element to updatefieldNumber- The number of the field to updatevalue- The value- Returns:
- true if the datastore was updated
-
update
public void update(org.datanucleus.state.ObjectProvider op, Collection coll)Method to update the collection to be the supplied collection of elements.- Specified by:
updatein interfaceorg.datanucleus.store.types.scostore.CollectionStore<E>- Parameters:
op- ObjectProvider of the objectcoll- The collection to use
-
contains
public boolean contains(org.datanucleus.state.ObjectProvider op, Object element)Method to verify if the specified element is contained in this collection.- Specified by:
containsin interfaceorg.datanucleus.store.types.scostore.CollectionStore<E>- Parameters:
op- ObjectProviderelement- The element- Returns:
- Whether it contains the element
-
updateEmbeddedElement
public boolean updateEmbeddedElement(org.datanucleus.state.ObjectProvider op, E element, int fieldNumber, Object value, JavaTypeMapping fieldMapping)
-
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
-
-