public class FKListStore<E> extends AbstractListStore<E>
ListStore
using foreign keys.indexedList, indexOfStmt, lastIndexOfStmt, removeAtStmt, shiftStmt
containsStmt
addStmt, clearStmt, containerTable, elementCmd, elementInfo, elementIsPersistentInterface, elementMapping, elementsAreEmbedded, elementsAreSerialised, elementType, iterateUsingDiscriminator, orderMapping, relationDiscriminatorMapping, relationDiscriminatorValue, removeStmt, sizeStmt
allowNulls, clr, dba, ownerMapping, ownerMemberMetaData, relationType, storeMgr
Constructor and Description |
---|
FKListStore(org.datanucleus.metadata.AbstractMemberMetaData mmd,
RDBMSStoreManager storeMgr,
org.datanucleus.ClassLoaderResolver clr) |
Modifier and Type | Method and Description |
---|---|
void |
clear(org.datanucleus.state.ObjectProvider ownerOP)
Method to clear the List.
|
ElementIteratorStatement |
getIteratorStatement(org.datanucleus.ExecutionContext ec,
org.datanucleus.FetchPlan fp,
boolean addRestrictionOnOwner,
int startIdx,
int endIdx)
Method to return the SQLStatement and mapping for an iterator for this backing store.
|
protected boolean |
internalAdd(org.datanucleus.state.ObjectProvider ownerOP,
int startAt,
boolean atEnd,
Collection<E> c,
int size)
Internal method for adding an item to the List.
|
protected boolean |
internalRemove(org.datanucleus.state.ObjectProvider ownerOP,
Object element,
int size)
Convenience method to remove the specified element from the List.
|
protected void |
internalRemoveAt(org.datanucleus.state.ObjectProvider ownerOP,
int index,
int size)
Internal method to remove an object at a location in the List.
|
protected ListIterator<E> |
listIterator(org.datanucleus.state.ObjectProvider ownerOP,
int startIdx,
int endIdx)
Accessor for an iterator through the list elements.
|
protected void |
manageRemovalOfElement(org.datanucleus.state.ObjectProvider ownerOP,
Object element)
Convenience method to manage the removal of an element from the collection, performing
any necessary "managed relationship" updates when the field is bidirectional.
|
boolean |
removeAll(org.datanucleus.state.ObjectProvider ownerOP,
Collection elements,
int size)
Remove all elements from a collection from the association owner vs elements.
|
E |
set(org.datanucleus.state.ObjectProvider ownerOP,
int index,
Object element,
boolean allowDependentField)
Method to set an object in the List at a position.
|
void |
update(org.datanucleus.state.ObjectProvider ownerOP,
Collection coll)
Method to update the collection to be the supplied collection of elements.
|
protected boolean |
validateElementForWriting(org.datanucleus.state.ObjectProvider op,
Object element,
int index)
Method to validate that an element is valid for writing to the datastore.
|
add, add, addAll, addAll, get, getIndexOfStmt, getIndicesOf, getIndicesOfStmt, getLastIndexOfStmt, getRemoveAtStmt, getShiftStmt, indexOf, internalIndexOf, internalRemoveAt, internalShift, iterator, lastIndexOf, listIterator, remove, remove, subList
contains, getRemoveStmt, getUpdateEmbeddedElementStmt, updateEmbeddedElement, updateEmbeddedElement
getAddStmtForJoinTable, getClearStmt, getComponentInfoForElement, getContainerTable, getElementClassMetaData, getElementMapping, getRelationDiscriminatorMapping, getRelationDiscriminatorValue, getSize, getSizeStmt, hasOrderMapping, invalidateAddStmt, isElementsAreEmbedded, isElementsAreSerialised, size, usingJoinTable, validateElementForReading, validateElementForWriting, validateElementType
allowsBatching, getComponentInformationForClass, getDatastoreAdapter, getObjectProviderForEmbeddedPCObject, getOwnerMapping, getOwnerMemberMetaData, getRelationType, getStoreManager, isEmbeddedMapping, setOwner
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public FKListStore(org.datanucleus.metadata.AbstractMemberMetaData mmd, RDBMSStoreManager storeMgr, org.datanucleus.ClassLoaderResolver clr)
mmd
- Metadata for owning field/propertystoreMgr
- Manager for the datastoreclr
- ClassLoader resolverpublic E set(org.datanucleus.state.ObjectProvider ownerOP, int index, Object element, boolean allowDependentField)
ownerOP
- ObjectProvider for the ownerindex
- The item indexelement
- What to set it to.allowDependentField
- Whether to enable dependent-field deletes during the setpublic void update(org.datanucleus.state.ObjectProvider ownerOP, Collection coll)
update
in interface org.datanucleus.store.types.scostore.CollectionStore<E>
update
in class AbstractCollectionStore<E>
ownerOP
- ObjectProvider for the ownercoll
- The collection to useprotected boolean internalAdd(org.datanucleus.state.ObjectProvider ownerOP, int startAt, boolean atEnd, Collection<E> c, int size)
internalAdd
in class AbstractListStore<E>
ownerOP
- ObjectProvider for the ownerstartAt
- The start positionatEnd
- Whether to add at the endc
- The Collection of elements to add.size
- Current size of list (if known). -1 if not knownpublic boolean removeAll(org.datanucleus.state.ObjectProvider ownerOP, Collection elements, int size)
ownerOP
- ObjectProvider for the ownerelements
- Collection of elements to removeprotected boolean internalRemove(org.datanucleus.state.ObjectProvider ownerOP, Object element, int size)
internalRemove
in class AbstractListStore<E>
ownerOP
- ObjectProvider for the ownerelement
- The elementsize
- Current size of list if known. -1 if not knownprotected void manageRemovalOfElement(org.datanucleus.state.ObjectProvider ownerOP, Object element)
ownerOP
- ObjectProvider for the collection ownerelement
- The elementprotected void internalRemoveAt(org.datanucleus.state.ObjectProvider ownerOP, int index, int size)
internalRemoveAt
in class AbstractListStore<E>
ownerOP
- ObjectProvider for the ownerindex
- The locationsize
- Current size of list (if known). -1 if not knownpublic void clear(org.datanucleus.state.ObjectProvider ownerOP)
clear
in interface org.datanucleus.store.types.scostore.CollectionStore<E>
clear
in class ElementContainerStore
ownerOP
- ObjectProvider for the ownerprotected boolean validateElementForWriting(org.datanucleus.state.ObjectProvider op, Object element, int index)
op
- ObjectProvider for the Listelement
- The element to validateindex
- The position that the element is being stored at in the listprotected ListIterator<E> listIterator(org.datanucleus.state.ObjectProvider ownerOP, int startIdx, int endIdx)
listIterator
in class AbstractListStore<E>
ownerOP
- ObjectProvider for the owner.startIdx
- The start index in the list (only for indexed lists)endIdx
- The end index in the list (only for indexed lists)public ElementIteratorStatement getIteratorStatement(org.datanucleus.ExecutionContext ec, org.datanucleus.FetchPlan fp, boolean addRestrictionOnOwner, int startIdx, int endIdx)
SELECT ELEM_COLS FROM ELEM_TBL [WHERE] [ELEM_TBL.OWNER_ID = {value}] [AND] [ELEM_TBL.DISCRIM = {discrimValue}] [ORDER BY {orderClause}]
ec
- ExecutionContextfp
- FetchPlan to use in determing which fields of element to selectaddRestrictionOnOwner
- Whether to restrict to a particular owner (otherwise functions as bulk fetch for many owners).startIdx
- Start index for the iterator (or -1)endIdx
- End index for the iterator (or -1)Copyright © 2020. All rights reserved.