public class JoinSetStore<E> extends AbstractSetStore<E>
SetStore using join table.ElementContainerStore.ElementInfo| Modifier and Type | Field and Description |
|---|---|
protected String |
locateStmt
Statement to check the existence of an owner-element relation.
|
protected String |
maxOrderColumnIdStmt
Statement to get the maximum order column id so we can set the next insert value.
|
containsStmtaddStmt, clearStmt, containerTable, elementInfo, elementIsPersistentInterface, elementMapping, elementsAreEmbedded, elementsAreSerialised, elementType, emd, iterateUsingDiscriminator, orderMapping, relationDiscriminatorMapping, relationDiscriminatorValue, removeStmt, sizeStmtallowNulls, clr, dba, ownerMapping, ownerMemberMetaData, relationType, storeMgr| Constructor and Description |
|---|
JoinSetStore(org.datanucleus.metadata.AbstractMemberMetaData mmd,
CollectionTable joinTable,
org.datanucleus.ClassLoaderResolver clr)
Constructor for a join set store for RDBMS.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
add(org.datanucleus.state.ObjectProvider op,
E element,
int size)
Adds one element to the association owner vs elements.
|
boolean |
addAll(org.datanucleus.state.ObjectProvider op,
Collection<E> elements,
int size)
Adds all elements from a collection to the association container.
|
protected int[] |
doInternalAdd(org.datanucleus.state.ObjectProvider op,
E element,
org.datanucleus.store.connection.ManagedConnection conn,
boolean batched,
int orderId,
boolean executeNow) |
IteratorStatement |
getIteratorStatement(org.datanucleus.ClassLoaderResolver clr,
org.datanucleus.FetchPlan fp,
boolean addRestrictionOnOwner)
Method to return the SQLStatement and mapping for an iterator for this backing store.
|
protected int |
getNextIDForOrderColumn(org.datanucleus.state.ObjectProvider op) |
protected String |
getRemoveAllStmt(org.datanucleus.state.ObjectProvider op,
Collection elements)
Generate statement for removing a collection of items from the Set.
|
protected String |
getRemoveStmt(Object element)
Generate statement for deleting items from the Set.
|
Iterator<E> |
iterator(org.datanucleus.state.ObjectProvider ownerOP)
Accessor for an iterator for the set.
|
boolean |
removeAll(org.datanucleus.state.ObjectProvider op,
Collection elements,
int size)
Remove all elements from a collection from the association owner vs elements.
|
protected boolean |
removeAllInternal(org.datanucleus.state.ObjectProvider op,
Collection elements,
int size) |
void |
update(org.datanucleus.state.ObjectProvider op,
Collection coll)
Method to update the collection to be the supplied collection of elements.
|
removecontains, getUpdateEmbeddedElementStmt, updateEmbeddedElement, updateEmbeddedElementclear, getAddStmtForJoinTable, getClearStmt, getContainerTable, getElementInfoForElement, getElementInformationForClass, getElementMapping, getEmd, getRelationDiscriminatorMapping, getRelationDiscriminatorValue, getSize, getSizeStmt, hasOrderMapping, invalidateAddStmt, isElementsAreEmbedded, isElementsAreSerialised, size, usingJoinTable, validateElementForReading, validateElementForWriting, validateElementTypeallowsBatching, getDatastoreAdapter, getObjectProviderForEmbeddedPCObject, getOwnerMapping, getOwnerMemberMetaData, getRelationType, getStoreManager, isEmbeddedMapping, setOwnerclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitprotected String locateStmt
protected String maxOrderColumnIdStmt
public JoinSetStore(org.datanucleus.metadata.AbstractMemberMetaData mmd,
CollectionTable joinTable,
org.datanucleus.ClassLoaderResolver clr)
mmd - Metadata for the member that has the set with join tablejoinTable - The join tableclr - The ClassLoaderResolverpublic void update(org.datanucleus.state.ObjectProvider op,
Collection coll)
update in interface org.datanucleus.store.scostore.CollectionStore<E>update in class AbstractCollectionStore<E>op - ObjectProvider of the objectcoll - The collection to usepublic boolean add(org.datanucleus.state.ObjectProvider op,
E element,
int size)
op - ObjectProvider for the container.element - Element to addpublic boolean addAll(org.datanucleus.state.ObjectProvider op,
Collection<E> elements,
int size)
op - ObjectProvider for the container.elements - Collection of elements to addpublic boolean removeAll(org.datanucleus.state.ObjectProvider op,
Collection elements,
int size)
removeAll in interface org.datanucleus.store.scostore.CollectionStore<E>removeAll in class AbstractSetStore<E>op - ObjectProvider for the containerelements - Collection of elements to removeprotected boolean removeAllInternal(org.datanucleus.state.ObjectProvider op,
Collection elements,
int size)
protected String getRemoveStmt(Object element)
DELETE FROM SETTABLE WHERE OWNERCOL=? AND ELEMENTCOL = ? [AND EMBEDDEDFIELD1 = ? AND EMBEDDEDFIELD2 = ? AND EMBEDDEDFIELD3 = ?] [AND RELATION_DISCRIM = ?]
getRemoveStmt in class AbstractCollectionStore<E>element - The element to removeprotected String getRemoveAllStmt(org.datanucleus.state.ObjectProvider op, Collection elements)
DELETE FROM SETTABLE
WHERE (OWNERCOL=? AND ELEMENTCOL=?) OR
(OWNERCOL=? AND ELEMENTCOL=?) OR
(OWNERCOL=? AND ELEMENTCOL=?)
op - ObjectProvider for the ownerelements - Collection of elements to removeprotected int[] doInternalAdd(org.datanucleus.state.ObjectProvider op,
E element,
org.datanucleus.store.connection.ManagedConnection conn,
boolean batched,
int orderId,
boolean executeNow)
throws MappedDatastoreException
MappedDatastoreExceptionprotected int getNextIDForOrderColumn(org.datanucleus.state.ObjectProvider op)
public Iterator<E> iterator(org.datanucleus.state.ObjectProvider ownerOP)
iterator in interface org.datanucleus.store.scostore.CollectionStore<E>iterator in class AbstractSetStore<E>ownerOP - ObjectProvider for the set.public IteratorStatement getIteratorStatement(org.datanucleus.ClassLoaderResolver clr, org.datanucleus.FetchPlan fp, boolean addRestrictionOnOwner)
clr - ClassLoader resolverfp - FetchPlan to use in determining which fields of element to selectaddRestrictionOnOwner - Whether to restrict to a particular owner (otherwise functions as bulk fetch for many owners).Copyright © 2017. All rights reserved.