org.jpox.store.rdbms.scostore
Class JoinArrayStore

java.lang.Object
  extended byorg.jpox.store.rdbms.scostore.BaseContainerStore
      extended byorg.jpox.store.rdbms.scostore.ElementContainerStore
          extended byorg.jpox.store.rdbms.scostore.AbstractArrayStore
              extended byorg.jpox.store.rdbms.scostore.JoinArrayStore
All Implemented Interfaces:
ArrayStore, Store

public class JoinArrayStore
extends AbstractArrayStore

Backing store for an array stored using a join table. Can be used for all types of arrays :- PersistenceCapable arrays, non-PersistenceCapable arrays, reference arrays.

Version:
$Revision: 1.3 $

Nested Class Summary
 
Nested classes inherited from class org.jpox.store.rdbms.scostore.ElementContainerStore
ElementContainerStore.ElementInfo
 
Field Summary
 
Fields inherited from class org.jpox.store.rdbms.scostore.AbstractArrayStore
addStmt
 
Fields inherited from class org.jpox.store.rdbms.scostore.ElementContainerStore
clearStmt, clr, containerTable, dba, elementInfo, elementMapping, elementsAreEmbedded, elementsAreSerialised, elementType, elmIdentifier, emd, iterateUsingDiscriminator, LOCALISER, orderMapping, ownerFieldMetaData, ownerMapping, relationDiscriminatorMapping, relationDiscriminatorValue, sizeStmt, storeMgr, thisIdentifier
 
Constructor Summary
JoinArrayStore(ArrayTable joinTable, ClassLoaderResolver clr)
          Constructor.
 
Method Summary
protected  QueryExpression getIteratorStatement(StateManager ownerSM)
          Accessor for the iterator statement to retrieve the element(s) for the array.
 ScalarExpression joinElementsTo(QueryExpression stmt, QueryExpression parentStmt, JavaTypeMapping ownerMapping, LogicSetExpression ownerTe, DatastoreIdentifier listRangeVar, java.lang.Class filteredElementType, ScalarExpression elmExpr, DatastoreIdentifier elementRangeVar)
          Method used in queries when contains() has been invoked.
 
Methods inherited from class org.jpox.store.rdbms.scostore.AbstractArrayStore
add, clear, getArray, getExistsSubquery, getSizeSubquery, iterator, set
 
Methods inherited from class org.jpox.store.rdbms.scostore.ElementContainerStore
executeQuery, executeUpdate, getAddStmt, getClearStmt, getElementInformationForClass, getElementType, getOwnerMapping, getSizeStmt, getStateManagerForEmbeddedPCObject, getStoreManager, hasOrderMapping, initialiseStatements, isEmbeddedMapping, newResultObjectFactory, populateElementDiscriminatorInStatement, populateElementInStatement, populateEmbeddedElementFieldsInStatement, populateOrderInStatement, populateOwnerInStatement, populateRelationDiscriminatorInStatement, size, validateElementForReading, validateElementForWriting, validateElementType
 
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.ArrayStore
getElementType, size
 
Methods inherited from interface org.jpox.store.scostore.Store
getOwnerMapping, getStoreManager
 

Constructor Detail

JoinArrayStore

public JoinArrayStore(ArrayTable joinTable,
                      ClassLoaderResolver clr)
Constructor.

Parameters:
joinTable - Join table storing the relationship between owner and element
clr - ClassLoader resolver
Method Detail

getIteratorStatement

protected QueryExpression getIteratorStatement(StateManager ownerSM)
Accessor for the iterator statement to retrieve the element(s) for the array.

Specified by:
getIteratorStatement in class AbstractArrayStore
Parameters:
ownerSM - The StateManager
Returns:
The Query Statement.

joinElementsTo

public ScalarExpression joinElementsTo(QueryExpression stmt,
                                       QueryExpression parentStmt,
                                       JavaTypeMapping ownerMapping,
                                       LogicSetExpression ownerTe,
                                       DatastoreIdentifier listRangeVar,
                                       java.lang.Class filteredElementType,
                                       ScalarExpression elmExpr,
                                       DatastoreIdentifier elementRangeVar)
Method used in queries when contains() has been invoked.

Parameters:
stmt - The Query Statement
parentStmt - the parent Query Statement. If there is no parent, parentStmt must be equals to stmt
ownerMapping - the mapping for the owner.
ownerTe - Table Expression for the owner
listRangeVar - The range variable for the "List" table.
filteredElementType - The Class Type for the filtered element
elmExpr - The Expression for the element
elementRangeVar - The SQL alias, or "range variable", to assign to the expression or to the element table.
Returns:
expression to the join


Copyright © -2007 . All Rights Reserved.