|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.jpox.store.rdbms.scostore.ElementContainerStore
org.jpox.store.rdbms.scostore.AbstractCollectionStore
org.jpox.store.rdbms.scostore.MapKeySetStore
public class MapKeySetStore
Representation of the backing store for a MapKey Set. This is used where the user calls Map.keySet() and then wants to perform some operation on the resulting Collection. The keys for a Map can be stored in several ways. There are four possibilities
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class org.jpox.store.rdbms.scostore.ElementContainerStore |
|---|
ElementContainerStore.ElementInfo |
| Field Summary | |
|---|---|
protected boolean |
allowsNull
Whether the container allows null elements/values. |
protected org.jpox.store.mapped.DatastoreAdapter |
dba
Datastore adapter in use by this store. |
protected static org.jpox.util.Localiser |
LOCALISER
Localiser for messages. |
protected static int |
MAP_TYPE_JOIN
Indicator for a map that is managed by a join table. |
protected static int |
MAP_TYPE_KEY_IN_VALUE
Indicator for a map that is managed by storing the key as a field in the value. |
protected static int |
MAP_TYPE_VALUE_IN_KEY
Indicator for a map that is managed by storing the value as a field in the key. |
protected org.jpox.store.mapped.mapping.JavaTypeMapping |
ownerMapping
Mapping to the owner of the container. |
protected org.jpox.metadata.AbstractMemberMetaData |
ownerMemberMetaData
MetaData for the field/property in the owner with this container. |
protected java.lang.String |
setName
|
protected RDBMSManager |
storeMgr
Manager for the store. |
| Fields inherited from class org.jpox.store.rdbms.scostore.AbstractCollectionStore |
|---|
containsStmt |
| Fields inherited from class org.jpox.store.rdbms.scostore.ElementContainerStore |
|---|
addStmt, clearStmt, clr, containerTable, elementInfo, elementIsPersistentInterface, elementMapping, elementsAreEmbedded, elementsAreSerialised, elementType, elmIdentifier, emd, iterateUsingDiscriminator, orderMapping, relationDiscriminatorMapping, relationDiscriminatorValue, removeStmt, usingDiscriminatorInSizeStmt |
| Constructor Summary | |
|---|---|
MapKeySetStore(org.jpox.store.mapped.DatastoreContainerObject valueTable,
org.jpox.store.mapped.mapping.JavaTypeMapping ownerMapping,
org.jpox.store.mapped.mapping.JavaTypeMapping keyMapping,
org.jpox.ClassLoaderResolver clr,
org.jpox.metadata.AbstractMemberMetaData fmd)
Constructor where either the key is stored in the value table or the value is stored in the key table. |
|
MapKeySetStore(MapTable mapTable,
org.jpox.ClassLoaderResolver clr)
Constructor where a join table is used to store the map relation. |
|
| Method Summary | |
|---|---|
boolean |
add(org.jpox.StateManager sm,
java.lang.Object element,
int size)
Method to add an element. |
boolean |
addAll(org.jpox.StateManager sm,
java.util.Collection elements,
int size)
Method to add a collection of elements. |
protected boolean |
allowsBatching()
Convenience method to return if the RDBMS supports batching and the user wants batching. |
void |
clear(org.jpox.StateManager sm)
Method to clear the collection. |
protected org.jpox.store.mapped.expression.QueryExpression |
getIteratorStatement(org.jpox.StateManager ownerSM)
Method to create an iterator for the map keys. |
org.jpox.store.mapped.mapping.JavaTypeMapping |
getOwnerMapping()
Accessor for the owner mapping. |
protected org.jpox.StateManager |
getStateManagerForEmbeddedPCObject(org.jpox.StateManager sm,
java.lang.Object obj,
JoinTable table)
Method to return the StateManager for an embedded PC object (element, key, value). |
org.jpox.store.StoreManager |
getStoreManager()
Accessor for the RDBMSManager. |
protected int[] |
internalAdd(org.jpox.StateManager ownerSM,
org.jpox.ManagedConnection conn,
boolean batched,
java.lang.Object element,
boolean processNow)
Method to process an "add" statement. |
protected int[] |
internalRemove(org.jpox.StateManager ownerSM,
org.jpox.ManagedConnection conn,
boolean batched,
java.lang.Object element,
boolean executeNow)
Method to process a "remove" statement. |
protected boolean |
isEmbeddedMapping(org.jpox.store.mapped.mapping.JavaTypeMapping mapping)
Check if the mapping correspond to a non pc object or embedded field |
java.util.Iterator |
iterator(org.jpox.StateManager ownerSM)
Accessor for an iterator for the set. |
org.jpox.store.mapped.expression.ScalarExpression |
joinElementsTo(org.jpox.store.mapped.expression.QueryExpression stmt,
org.jpox.store.mapped.expression.QueryExpression qs,
org.jpox.store.mapped.mapping.JavaTypeMapping ownerMapping,
org.jpox.store.mapped.expression.LogicSetExpression te,
org.jpox.store.mapped.DatastoreIdentifier setTableAlias,
java.lang.Class filteredElementType,
org.jpox.store.mapped.expression.ScalarExpression elmExpr,
org.jpox.store.mapped.DatastoreIdentifier elementTableAlias,
boolean existsQuery)
|
org.jpox.store.mapped.expression.QueryExpression |
newQueryStatement(org.jpox.StateManager sm,
java.lang.String candidateClass,
org.jpox.store.mapped.DatastoreIdentifier candidateAlias)
|
protected int |
populateOwnerInStatement(org.jpox.StateManager sm,
org.jpox.ObjectManager om,
java.sql.PreparedStatement ps,
int jdbcPosition)
Convenience method to populate the passed PreparedStatement with the value from the owner. |
boolean |
remove(org.jpox.StateManager sm,
java.lang.Object element,
int size,
boolean allowDependentField)
Method to remove an element. |
boolean |
removeAll(org.jpox.StateManager sm,
java.util.Collection elements,
int size)
Method to remove a collection of elements. |
protected void |
setOwnerMemberMetaData(org.jpox.metadata.AbstractMemberMetaData mmd)
Method to set the owner field/property MetaData and sets whether null elements/values are allowed. |
| Methods inherited from class org.jpox.store.rdbms.scostore.AbstractCollectionStore |
|---|
contains, getContainsStmt, getExistsSubquery, getRemoveStmt, getSizeSubquery, getUpdateEmbeddedElementStmt, updateEmbeddedElement |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.jpox.store.scostore.CollectionStore |
|---|
contains, getElementType, hasOrderMapping, size, updateEmbeddedElement |
| Methods inherited from interface org.jpox.store.scostore.Store |
|---|
getStoreManager |
| Methods inherited from interface org.jpox.store.mapped.scostore.CollectionStoreQueryable |
|---|
newResultObjectFactory |
| Field Detail |
|---|
protected static final int MAP_TYPE_JOIN
protected static final int MAP_TYPE_KEY_IN_VALUE
protected static final int MAP_TYPE_VALUE_IN_KEY
protected java.lang.String setName
protected static final org.jpox.util.Localiser LOCALISER
protected RDBMSManager storeMgr
protected org.jpox.store.mapped.DatastoreAdapter dba
protected org.jpox.store.mapped.mapping.JavaTypeMapping ownerMapping
protected org.jpox.metadata.AbstractMemberMetaData ownerMemberMetaData
protected boolean allowsNull
| Constructor Detail |
|---|
public MapKeySetStore(MapTable mapTable,
org.jpox.ClassLoaderResolver clr)
mapTable - The table for the map (join table)clr - The ClassLoaderResolver
public MapKeySetStore(org.jpox.store.mapped.DatastoreContainerObject valueTable,
org.jpox.store.mapped.mapping.JavaTypeMapping ownerMapping,
org.jpox.store.mapped.mapping.JavaTypeMapping keyMapping,
org.jpox.ClassLoaderResolver clr,
org.jpox.metadata.AbstractMemberMetaData fmd)
valueTable - The table for the "value" of the mapownerMapping - The mapping for this table to the owner tablekeyMapping - The mapping for this table to the key table/columnclr - The ClassLoaderResolverfmd - FieldMetaData for the owning "map" field| Method Detail |
|---|
protected org.jpox.store.mapped.expression.QueryExpression getIteratorStatement(org.jpox.StateManager ownerSM)
ownerSM - StateManager for the map
public boolean add(org.jpox.StateManager sm,
java.lang.Object element,
int size)
add in interface org.jpox.store.scostore.CollectionStoresm - State Manager of collection.element - Element to add.
public boolean addAll(org.jpox.StateManager sm,
java.util.Collection elements,
int size)
addAll in interface org.jpox.store.scostore.CollectionStoresm - State Manager of collection.elements - Elements to add.size - Current size of set (if known). Not used by sets
public boolean remove(org.jpox.StateManager sm,
java.lang.Object element,
int size,
boolean allowDependentField)
remove in interface org.jpox.store.scostore.CollectionStoresm - State Manager of collection.element - Element to remove.size - Current sizeallowDependentField - Whether to allow any cascade deletes caused by this removal
public boolean removeAll(org.jpox.StateManager sm,
java.util.Collection elements,
int size)
removeAll in interface org.jpox.store.scostore.CollectionStoresm - State Manager of collection.elements - Elements to remove.
public void clear(org.jpox.StateManager sm)
clear in interface org.jpox.store.scostore.CollectionStoreclear in class ElementContainerStoresm - State Manager of collection.
public org.jpox.store.mapped.expression.ScalarExpression joinElementsTo(org.jpox.store.mapped.expression.QueryExpression stmt,
org.jpox.store.mapped.expression.QueryExpression qs,
org.jpox.store.mapped.mapping.JavaTypeMapping ownerMapping,
org.jpox.store.mapped.expression.LogicSetExpression te,
org.jpox.store.mapped.DatastoreIdentifier setTableAlias,
java.lang.Class filteredElementType,
org.jpox.store.mapped.expression.ScalarExpression elmExpr,
org.jpox.store.mapped.DatastoreIdentifier elementTableAlias,
boolean existsQuery)
public org.jpox.store.mapped.expression.QueryExpression newQueryStatement(org.jpox.StateManager sm,
java.lang.String candidateClass,
org.jpox.store.mapped.DatastoreIdentifier candidateAlias)
public java.util.Iterator iterator(org.jpox.StateManager ownerSM)
iterator in interface org.jpox.store.scostore.CollectionStoreiterator in class ElementContainerStoreownerSM - State Manager for the set.
protected int[] internalAdd(org.jpox.StateManager ownerSM,
org.jpox.ManagedConnection conn,
boolean batched,
java.lang.Object element,
boolean processNow)
throws java.sql.SQLException
ownerSM - StateManager for the ownerconn - The connectionbatched - Whether we are batching itelement - The element
java.sql.SQLException - Thrown if an error occurs
protected int[] internalRemove(org.jpox.StateManager ownerSM,
org.jpox.ManagedConnection conn,
boolean batched,
java.lang.Object element,
boolean executeNow)
throws java.sql.SQLException
internalRemove in class AbstractCollectionStoreownerSM - StateManager for the ownerconn - The connectionbatched - Whether we are batching itelement - The elementexecuteNow - Whether to execute the statement rather than allow batching til later
java.sql.SQLException - Thrown if an error occursprotected void setOwnerMemberMetaData(org.jpox.metadata.AbstractMemberMetaData mmd)
mmd - MetaData for the field/property owning this backing store.public org.jpox.store.StoreManager getStoreManager()
public org.jpox.store.mapped.mapping.JavaTypeMapping getOwnerMapping()
protected boolean isEmbeddedMapping(org.jpox.store.mapped.mapping.JavaTypeMapping mapping)
mapping - the mapping
protected int populateOwnerInStatement(org.jpox.StateManager sm,
org.jpox.ObjectManager om,
java.sql.PreparedStatement ps,
int jdbcPosition)
sm - State Managerom - Object Managerps - The PreparedStatementjdbcPosition - Position in JDBC statement to populate
protected org.jpox.StateManager getStateManagerForEmbeddedPCObject(org.jpox.StateManager sm,
java.lang.Object obj,
JoinTable table)
sm - State Manager of the ownerobj - The embedded PC objecttable - Join table where the objects are stored
protected boolean allowsBatching()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||