|
||||||||||
| 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
public abstract class AbstractCollectionStore
Abstract representation of a store of a Collection. Contains all common parts of storing Sets and Lists.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class org.jpox.store.rdbms.scostore.ElementContainerStore |
|---|
ElementContainerStore.ElementInfo |
| Field Summary | |
|---|---|
protected java.lang.String |
containsStmt
Statement for getting whether an element is contained in the collection. |
protected DatastoreAdapter |
dba
Datastore adapter in use by this store. |
protected static Localiser |
LOCALISER
Localiser for messages. |
protected AbstractPropertyMetaData |
ownerFieldMetaData
MetaData for the field in the owner with this container. |
protected JavaTypeMapping |
ownerMapping
Mapping to the owner of the container. |
protected StoreManager |
storeMgr
Manager for the store. |
protected DatastoreIdentifier |
thisIdentifier
Identifier for the container in JDOQL queries. |
| Fields inherited from class org.jpox.store.rdbms.scostore.ElementContainerStore |
|---|
clearStmt, clr, containerTable, elementInfo, elementMapping, elementsAreEmbedded, elementsAreSerialised, elementType, elmIdentifier, emd, iterateUsingDiscriminator, orderMapping, relationDiscriminatorMapping, relationDiscriminatorValue, sizeStmt |
| Constructor Summary | |
|---|---|
protected |
AbstractCollectionStore(StoreManager storeMgr,
ClassLoaderResolver clr)
Constructor. |
| Method Summary | |
|---|---|
boolean |
contains(StateManager sm,
java.lang.Object element)
Method to verify if the association owner vs elements contains a specific element in the association |
protected java.sql.ResultSet |
executeQuery(java.lang.String stmt,
java.sql.PreparedStatement ps)
Method to execute a PreparedStatement query, and return the ResultSet. |
protected int |
executeUpdate(java.lang.String stmt,
java.sql.PreparedStatement ps)
Method to execute a PreparedStatement. |
protected java.lang.String |
getContainsStmt()
Generate statement for retrieving the contents of the Collection. |
QueryExpression |
getExistsSubquery(QueryExpression qs,
JavaTypeMapping mapping,
LogicSetExpression ownerTe,
DatastoreIdentifier collectionRangeVar)
JDOQL utility to generate an exists() statement for an element. |
JavaTypeMapping |
getOwnerMapping()
Accessor for the owner mapping. |
QueryExpression |
getSizeSubquery(QueryExpression qs,
JavaTypeMapping mapping,
LogicSetExpression ownerTe,
DatastoreIdentifier collectionRangeVar)
JDOQL utility to generate a subquery for the size() of the collection. |
protected StateManager |
getStateManagerForEmbeddedPCObject(StateManager sm,
java.lang.Object obj,
JoinTable table)
Method to return the StateManager for an embedded PC object (element, key, value). |
StoreManager |
getStoreManager()
Accessor for the RDBMSManager. |
protected java.lang.String |
getUpdateEmbeddedElementStmt(JavaTypeMapping fieldMapping)
Generate statement for update the field of an embedded element. |
protected void |
initialiseStatements()
Method to initialise the statements being used. |
protected boolean |
isEmbeddedMapping(JavaTypeMapping mapping)
Check if the mapping correspond to a non pc object or embedded field |
protected int |
populateOwnerInStatement(StateManager sm,
PersistenceManager pm,
java.sql.PreparedStatement ps,
int jdbcPosition)
Convenience method to populate the passed PreparedStatement with the value from the owner. |
boolean |
updateEmbeddedElement(StateManager sm,
java.lang.Object element,
int fieldNumber,
java.lang.Object value)
Method to update a field of an embedded element. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected java.lang.String containsStmt
protected static final Localiser LOCALISER
protected StoreManager storeMgr
protected DatastoreAdapter dba
protected JavaTypeMapping ownerMapping
protected AbstractPropertyMetaData ownerFieldMetaData
protected final DatastoreIdentifier thisIdentifier
| Constructor Detail |
|---|
protected AbstractCollectionStore(StoreManager storeMgr,
ClassLoaderResolver clr)
storeMgr - Manager for the storeclr - ClassLoader resolver| Method Detail |
|---|
protected void initialiseStatements()
initialiseStatements in class ElementContainerStoreprotected java.lang.String getUpdateEmbeddedElementStmt(JavaTypeMapping fieldMapping)
UPDATE SETTABLE SET EMBEDDEDFIELD1 = ? WHERE OWNERCOL=? AND ELEMENTCOL = ?
fieldMapping - The mapping for the field within the embedded object to be updated
public boolean updateEmbeddedElement(StateManager sm,
java.lang.Object element,
int fieldNumber,
java.lang.Object value)
sm - State Manager of the ownerelement - The element to updatefieldNumber - The number of the field to updatevalue - The value
protected java.lang.String getContainsStmt()
SELECT OWNERCOL FROM COLLECTIONTABLE WHERE OWNERCOL=? AND ELEMENTCOL=? [AND DISCRIMINATOR=?] [AND RELATION_DISCRIM=?]
public boolean contains(StateManager sm,
java.lang.Object element)
sm - The StateManagerelement - The element
public QueryExpression getExistsSubquery(QueryExpression qs,
JavaTypeMapping mapping,
LogicSetExpression ownerTe,
DatastoreIdentifier collectionRangeVar)
SELECT 1 FROM JOINTABLE THIS_JOIN WHERE THIS_JOIN.OWNER_ID_OID = THIS.OWNER_ID
qs - The JDOQL query statementmapping - mapping of the fieldownerTe - Expression for the tablecollectionRangeVar - range variable for the collection
public QueryExpression getSizeSubquery(QueryExpression qs,
JavaTypeMapping mapping,
LogicSetExpression ownerTe,
DatastoreIdentifier collectionRangeVar)
SELECT COUNT(*) FROM JOINTABLE THIS_JOIN WHERE THIS_JOIN.OWNER_ID_OID = THIS.OWNER_ID
qs - The JDOQL query statementmapping - mapping of the fieldownerTe - Expression for the tablecollectionRangeVar - range variable for the collection
public StoreManager getStoreManager()
public JavaTypeMapping getOwnerMapping()
protected int executeUpdate(java.lang.String stmt,
java.sql.PreparedStatement ps)
throws java.sql.SQLException
stmt - The statement textps - The Prepared Statement
java.sql.SQLException - Thrown if an error occurs
protected java.sql.ResultSet executeQuery(java.lang.String stmt,
java.sql.PreparedStatement ps)
throws java.sql.SQLException
stmt - The statement textps - The Prepared Statement
java.sql.SQLException - Thrown if an error occursprotected boolean isEmbeddedMapping(JavaTypeMapping mapping)
mapping - the mapping
protected int populateOwnerInStatement(StateManager sm,
PersistenceManager pm,
java.sql.PreparedStatement ps,
int jdbcPosition)
sm - State Managerpm - Persistence Managerps - The PreparedStatementjdbcPosition - Position in JDBC statement to populate
protected StateManager getStateManagerForEmbeddedPCObject(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
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||