wt.epm.structure
Class EPMRecursiveQueryUtility

java.lang.Object
  extended bywt.epm.structure.EPMRecursiveQueryUtility

class EPMRecursiveQueryUtility
extends Object


Field Summary
private static ReferenceFactory refFactory
           
private static boolean VERBOSE
           
 
Constructor Summary
(package private) EPMRecursiveQueryUtility()
           
 
Method Summary
(package private) static EPMDocument getDocumentFromTable(Hashtable objects, EPMDocument iterated)
          Get the canonical copy of an EPMDocument from the cache.
(package private) static com.objectspace.jgl.Pair getLinkFromTable(Hashtable objects, com.objectspace.jgl.Pair pair)
          Get the canonical copy of an EPMMemberLink from the cache.
(package private) static EPMDocumentMaster getMasterFromTable(Hashtable objects, EPMDocumentMaster mastered)
          Get the canonical copy of an EPMDocumentMaster from the cache.
(package private) static Object getObjectFromTable(Hashtable objects, Object object)
          Get the canonical copy of an object from the cache.
(package private) static String getWCID(Persistable object)
          Compute the string key for the object (EPMDocument, EPMDocumentMaster) EPMDocument and EPMDocumentMaster use their referenceString.
(package private) static EPMRecursiveResultSet navigateDownRecursive(EPMDocument doc, QuerySpec querySpec, boolean onlyOther, ConfigSpec spec, Class linkClass, String roleName, int depth, Hashtable objects)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

VERBOSE

private static boolean VERBOSE

refFactory

private static ReferenceFactory refFactory
Constructor Detail

EPMRecursiveQueryUtility

EPMRecursiveQueryUtility()
Method Detail

getWCID

static String getWCID(Persistable object)
               throws WTException
Compute the string key for the object (EPMDocument, EPMDocumentMaster) EPMDocument and EPMDocumentMaster use their referenceString.

Throws:
WTException

getObjectFromTable

static Object getObjectFromTable(Hashtable objects,
                                 Object object)
                          throws WTException
Get the canonical copy of an object from the cache.

Throws:
WTException

getLinkFromTable

static com.objectspace.jgl.Pair getLinkFromTable(Hashtable objects,
                                                 com.objectspace.jgl.Pair pair)
                                          throws WTException
Get the canonical copy of an EPMMemberLink from the cache. If the object already exists in the table, the cached copy is returned. If the object does not already exist in the table, a Pair containing the EPMMemberLink and the link target is created, and inserted in the table, and returned.

Throws:
WTException

getMasterFromTable

static EPMDocumentMaster getMasterFromTable(Hashtable objects,
                                            EPMDocumentMaster mastered)
                                     throws WTException
Get the canonical copy of an EPMDocumentMaster from the cache. If the object already exists in the table, the cached copy is returned. If the object does not already exist in the table, an EPMRecursiveResultSet containing the EPMDocumentMaster is created, and inserted in the table, and the original object is returned.

Throws:
WTException

getDocumentFromTable

static EPMDocument getDocumentFromTable(Hashtable objects,
                                        EPMDocument iterated)
                                 throws WTException
Get the canonical copy of an EPMDocument from the cache. If the object already exists in the table, the cached copy is returned. If the object does not already exist in the table, an EPMRecursiveResultSet containing the EPMDocument is created, and inserted in the table, and the original object is returned. If not already present, a cache entry for the EPMDocumentMaster is created.

Throws:
WTException

navigateDownRecursive

static EPMRecursiveResultSet navigateDownRecursive(EPMDocument doc,
                                                   QuerySpec querySpec,
                                                   boolean onlyOther,
                                                   ConfigSpec spec,
                                                   Class linkClass,
                                                   String roleName,
                                                   int depth,
                                                   Hashtable objects)
                                            throws WTException,
                                                   WTPropertyVetoException
Throws:
WTException
WTPropertyVetoException