public class FKListStore extends AbstractListStore
ListStore
using foreign keys.ElementContainerStore.ElementInfo
indexedList, indexOfStmt, lastIndexOfStmt, removeAtStmt, shiftStmt
containsStmt
addStmt, clearStmt, containerTable, elementInfo, elementIsPersistentInterface, elementMapping, elementsAreEmbedded, elementsAreSerialised, elementType, emd, iterateUsingDiscriminator, orderMapping, relationDiscriminatorMapping, relationDiscriminatorValue, removeStmt, sizeStmt, usingDiscriminatorInSizeStmt
allowNulls, clr, dba, LOCALISER, 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 op)
Method to clear the List.
|
IteratorStatement |
getIteratorStatement(org.datanucleus.ClassLoaderResolver clr,
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 op,
int startAt,
boolean atEnd,
Collection c,
int size)
Internal method for adding an item to the List.
|
protected boolean |
internalRemove(org.datanucleus.state.ObjectProvider op,
Object element,
int size)
Convenience method to remove the specified element from the List.
|
protected void |
internalRemoveAt(org.datanucleus.state.ObjectProvider op,
int index,
int size)
Internal method to remove an object at a location in the List.
|
protected ListIterator |
listIterator(org.datanucleus.state.ObjectProvider op,
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.
|
Object |
set(org.datanucleus.state.ObjectProvider op,
int index,
Object element,
boolean allowDependentField)
Method to set an object in the List at a position.
|
void |
update(org.datanucleus.state.ObjectProvider op,
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, removeAll, subList
contains, containsInternal, getRemoveStmt, getUpdateEmbeddedElementStmt, internalRemove, updateEmbeddedElement, updateEmbeddedElement
executeClear, getAddStmt, getClearStmt, getContainerTable, getElementInfo, getElementInformationForClass, getElementMapping, getEmd, getOrderMapping, getRelationDiscriminatorMapping, getRelationDiscriminatorValue, getSize, getSizeStmt, hasOrderMapping, invalidateAddStmt, isElementsAreEmbedded, isElementsAreSerialised, size, validateElementForReading, validateElementForWriting, validateElementType
allowsBatching, 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 Object set(org.datanucleus.state.ObjectProvider op, int index, Object element, boolean allowDependentField)
op
- 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 op, Collection coll)
update
in interface org.datanucleus.store.scostore.CollectionStore
update
in class AbstractCollectionStore
op
- ObjectProvider for the ownercoll
- The collection to useprotected boolean internalAdd(org.datanucleus.state.ObjectProvider op, int startAt, boolean atEnd, Collection c, int size)
internalAdd
in class AbstractListStore
op
- 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 knownprotected boolean internalRemove(org.datanucleus.state.ObjectProvider op, Object element, int size)
internalRemove
in class AbstractListStore
op
- 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 op, int index, int size)
internalRemoveAt
in class AbstractListStore
op
- ObjectProvider for the ownerindex
- The locationsize
- Current size of list (if known). -1 if not knownpublic void clear(org.datanucleus.state.ObjectProvider op)
clear
in interface org.datanucleus.store.scostore.CollectionStore
clear
in class ElementContainerStore
op
- 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 listIterator(org.datanucleus.state.ObjectProvider op, int startIdx, int endIdx)
listIterator
in class AbstractListStore
op
- ObjectProvider for the container.startIdx
- The start index in the list (only for indexed lists)endIdx
- The end index in the list (only for indexed lists)public IteratorStatement getIteratorStatement(org.datanucleus.ClassLoaderResolver clr, org.datanucleus.FetchPlan fp, boolean addRestrictionOnOwner, int startIdx, int endIdx)
clr
- ClassLoader resolverfp
- 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 © 2023. All rights reserved.