com.triactive.jdo.store
Class InverseSetStore

java.lang.Object
  extended bycom.triactive.jdo.store.AbstractSetStore
      extended bycom.triactive.jdo.store.InverseSetStore
All Implemented Interfaces:
SetStore

class InverseSetStore
extends AbstractSetStore


Field Summary
protected  java.lang.String addStmt
           
protected  java.lang.String clearStmt
           
protected  java.lang.String containsStmt
           
protected  DatabaseAdapter dba
           
protected  Column elementColumn
           
protected  Mapping elementMapping
           
protected  boolean elementsAreEmbedded
           
protected  java.lang.Class elementType
           
protected  java.lang.String iteratorStmt
           
protected  Column ownerColumn
           
protected  Mapping ownerMapping
           
protected  Mapping[] prefetchFieldMappings
           
protected  int[] prefetchFieldNumbers
           
protected  java.lang.String removeStmt
           
protected  java.lang.String setName
           
protected  Table setTable
           
protected  java.lang.String sizeStmt
           
protected  StoreManager storeMgr
           
 
Constructor Summary
InverseSetStore(FieldMetaData fmd, StoreManager storeMgr)
           
 
Method Summary
 boolean add(StateManager sm, java.lang.Object element)
           
 boolean addAll(StateManager sm, java.util.Collection elements)
           
 void clear(StateManager sm)
           
 boolean contains(StateManager sm, java.lang.Object element)
           
 java.lang.Class getElementType()
           
 QueryStatement getExistsSubquery(QueryStatement.QueryColumn ownerIDColumn, SQLIdentifier setRangeVar)
          Create a subquery for the given query that joins a SetStores element table to the owner table.
 Column getOwnerColumn()
           
 StoreManager getStoreManager()
           
 java.util.Iterator iterator(StateManager sm)
           
 QueryStatement.QueryColumn joinElementsTo(QueryStatement stmt, QueryStatement.QueryColumn ownerIDColumn, SQLIdentifier setRangeVar, java.lang.Class filteredElementType, SQLIdentifier elementRangeVar)
           
 QueryStatement newQueryStatement(StateManager sm, java.lang.Class candidateClass)
           
 Query.ResultObjectFactory newResultObjectFactory(StateManager sm, QueryStatement stmt)
           
 boolean remove(StateManager sm, java.lang.Object element)
           
 int size(StateManager sm)
           
protected  boolean validateElementForReading(StateManager sm, java.lang.Object element)
           
protected  void validateElementForWriting(StateManager sm, java.lang.Object element)
           
protected  boolean validateElementType(java.lang.Object element)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

setTable

protected Table setTable

setName

protected java.lang.String setName

storeMgr

protected StoreManager storeMgr

dba

protected DatabaseAdapter dba

ownerMapping

protected Mapping ownerMapping

elementMapping

protected Mapping elementMapping

ownerColumn

protected Column ownerColumn

elementColumn

protected Column elementColumn

elementType

protected java.lang.Class elementType

elementsAreEmbedded

protected boolean elementsAreEmbedded

iteratorStmt

protected java.lang.String iteratorStmt

sizeStmt

protected java.lang.String sizeStmt

containsStmt

protected java.lang.String containsStmt

addStmt

protected java.lang.String addStmt

removeStmt

protected java.lang.String removeStmt

clearStmt

protected java.lang.String clearStmt

prefetchFieldNumbers

protected int[] prefetchFieldNumbers

prefetchFieldMappings

protected Mapping[] prefetchFieldMappings
Constructor Detail

InverseSetStore

public InverseSetStore(FieldMetaData fmd,
                       StoreManager storeMgr)
Method Detail

newQueryStatement

public QueryStatement newQueryStatement(StateManager sm,
                                        java.lang.Class candidateClass)

joinElementsTo

public QueryStatement.QueryColumn joinElementsTo(QueryStatement stmt,
                                                 QueryStatement.QueryColumn ownerIDColumn,
                                                 SQLIdentifier setRangeVar,
                                                 java.lang.Class filteredElementType,
                                                 SQLIdentifier elementRangeVar)

add

public boolean add(StateManager sm,
                   java.lang.Object element)
Specified by:
add in interface SetStore
Overrides:
add in class AbstractSetStore

remove

public boolean remove(StateManager sm,
                      java.lang.Object element)
Specified by:
remove in interface SetStore
Overrides:
remove in class AbstractSetStore

clear

public void clear(StateManager sm)
Specified by:
clear in interface SetStore
Overrides:
clear in class AbstractSetStore

getStoreManager

public StoreManager getStoreManager()
Specified by:
getStoreManager in interface SetStore

getElementType

public java.lang.Class getElementType()
Specified by:
getElementType in interface SetStore

getOwnerColumn

public Column getOwnerColumn()
Specified by:
getOwnerColumn in interface SetStore

newResultObjectFactory

public Query.ResultObjectFactory newResultObjectFactory(StateManager sm,
                                                        QueryStatement stmt)
Specified by:
newResultObjectFactory in interface SetStore

getExistsSubquery

public QueryStatement getExistsSubquery(QueryStatement.QueryColumn ownerIDColumn,
                                        SQLIdentifier setRangeVar)
Description copied from interface: SetStore
Create a subquery for the given query that joins a SetStores element table to the owner table. This subquery can subsequently be used in an EXISTS expression to determine whether a Set is empty or not.

Specified by:
getExistsSubquery in interface SetStore
Parameters:
ownerIDColumn - The QueryColumn of the owner ID.
setRangeVar - The range variable for the "Set" table.
Returns:
A subquery for the given query that joins a SetStores element table to the owner table.

validateElementType

protected boolean validateElementType(java.lang.Object element)

validateElementForReading

protected boolean validateElementForReading(StateManager sm,
                                            java.lang.Object element)

validateElementForWriting

protected void validateElementForWriting(StateManager sm,
                                         java.lang.Object element)

iterator

public java.util.Iterator iterator(StateManager sm)
Specified by:
iterator in interface SetStore

size

public int size(StateManager sm)
Specified by:
size in interface SetStore

contains

public boolean contains(StateManager sm,
                        java.lang.Object element)
Specified by:
contains in interface SetStore

addAll

public boolean addAll(StateManager sm,
                      java.util.Collection elements)
Specified by:
addAll in interface SetStore


Copyright © 2001 TriActive, Inc. All Rights Reserved.