wt.dataops.objectcol.dependency
Class RelatedByRelationshipProcessor

java.lang.Object
  extended bywt.dataops.objectcol.resolution.AbsResolutionProcessor
      extended bywt.dataops.objectcol.resolution.BaseQueryProcessor
          extended bywt.dataops.objectcol.resolution.RelationshipQueryProcessor
              extended bywt.dataops.objectcol.dependency.RelatedByRelationshipProcessor
All Implemented Interfaces:
CollectionQueryProcessor, Externalizable, RecursiveQueryProcessor, RelatedByProcessor, ResolutionProcessor, Serializable
Direct Known Subclasses:
LatestOfAllO2MDelegate

public class RelatedByRelationshipProcessor
extends RelationshipQueryProcessor
implements RelatedByProcessor, Externalizable



Supported API: false

Extendable: false

See Also:
Serialized Form

Field Summary
private static String CLASSNAME
           
private  boolean collectOtherEnd
           
private  boolean collectRelationship
           
static long EXTERNALIZATION_VERSION_UID
           
protected static long OLD_FORMAT_VERSION_UID
           
private  boolean otherEndDependant
           
private  Map outputTypes
           
private  PostProcessor postProcessor
           
private static String RESOURCE
           
(package private) static long serialVersionUID
           
private static boolean VERBOSE
           
 
Fields inherited from class wt.dataops.objectcol.resolution.RelationshipQueryProcessor
DOT, firstTime, linkInfo, O2O_ROLE_A_ATTR_NAME, O2O_ROLE_B_ATTR_NAME, resolvedSeeds, shouldRecurseNow
 
Fields inherited from class wt.dataops.objectcol.resolution.AbsResolutionProcessor
 
Constructor Summary
RelatedByRelationshipProcessor()
           
 
Method Summary
protected  int appendRelationshipTargetJoin(QuerySpec spec)
           
protected  WTKeyedHashMap buildSeedMap(Persistable[] seeds, WTKeyedHashMap relmap)
           
protected  WTCollection filterSeeds(WTCollection seeds)
           
 Map getInputMap()
          

Supported API: false
 void initialize(boolean collectRelationship, boolean collectOtherEnd, boolean otherEndDependant, PostProcessor postProcessor, Class relClass, String roleName, Persistable[] seeds, Map seedTypes, boolean recursive, Map outputTypes)
          

Supported API: false
 boolean isRecursive()
          

Supported API: false
static RelatedByRelationshipProcessor newRelatedByRelationshipProcessor(boolean collectRelationship, boolean collectOtherEnd, boolean otherEndDependant, PostProcessor postProcessor, Class relClass, String roleName, Persistable[] seeds, Map seedTypes, boolean recursive, Map outputTypes)
          

Supported API: false
protected  void postProcess(WTKeyedHashMap collected)
           
 WTCollection process(WTCollection seeds, CollectionGraph output)
          

Supported API: false
 void readExternal(ObjectInput input)
          Reads the non-transient fields of this class from an external source.
private  boolean readOldVersion(ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source, which is not the current version.
protected  boolean readVersion(RelatedByRelationshipProcessor thisObject, ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source.
 void setInputMap(Map inputMap)
          

Supported API: false
 void writeExternal(ObjectOutput output)
          Writes the non-transient fields of this class to an external source.
 
Methods inherited from class wt.dataops.objectcol.resolution.RelationshipQueryProcessor
appendRelationshipSeedJoin, appendRelationshipTargetJoinCondition, decideShouldRecurseNow, decideShouldRecurseNow, findRelationshipClassIndex, findSeedsRecursively, getAttrNameForRole, getObjectIdentifier, getObjectsToExclude, getOtherRole, getOtherRole, getRecurseMap, getRelClass, getRoleName, getSeedObjects, getSeedTypes, initialize, process, readVersion, resolveRelationshipClass, resolveSeeds, resolveSeedsToRecurse, setObjectsToExclude, setRecurseMap, setRecursive, setRelClass, setRoleName, setSeedObjects, setSeeds, setSeedTypes, updateQuerySpecWithRel, updateQuerySpecWithRel
 
Methods inherited from class wt.dataops.objectcol.resolution.BaseQueryProcessor
initialize, readVersion
 
Methods inherited from class wt.dataops.objectcol.resolution.AbsResolutionProcessor
getInputs, readVersion, setInputs
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

RESOURCE

private static final String RESOURCE
See Also:
Constant Field Values

CLASSNAME

private static final String CLASSNAME

postProcessor

private PostProcessor postProcessor

collectRelationship

private boolean collectRelationship

collectOtherEnd

private boolean collectOtherEnd

otherEndDependant

private boolean otherEndDependant

outputTypes

private Map outputTypes

serialVersionUID

static final long serialVersionUID
See Also:
Constant Field Values

EXTERNALIZATION_VERSION_UID

public static final long EXTERNALIZATION_VERSION_UID
See Also:
Constant Field Values

OLD_FORMAT_VERSION_UID

protected static final long OLD_FORMAT_VERSION_UID
See Also:
Constant Field Values

VERBOSE

private static boolean VERBOSE
Constructor Detail

RelatedByRelationshipProcessor

public RelatedByRelationshipProcessor()
Method Detail

writeExternal

public void writeExternal(ObjectOutput output)
                   throws IOException
Writes the non-transient fields of this class to an external source.

Supported API: false

Specified by:
writeExternal in interface Externalizable
Overrides:
writeExternal in class RelationshipQueryProcessor
Parameters:
output -
Throws:
IOException

readExternal

public void readExternal(ObjectInput input)
                  throws IOException,
                         ClassNotFoundException
Reads the non-transient fields of this class from an external source.

Supported API: false

Specified by:
readExternal in interface Externalizable
Overrides:
readExternal in class RelationshipQueryProcessor
Parameters:
input -
Throws:
IOException
ClassNotFoundException

readVersion

protected boolean readVersion(RelatedByRelationshipProcessor thisObject,
                              ObjectInput input,
                              long readSerialVersionUID,
                              boolean passThrough,
                              boolean superDone)
                       throws IOException,
                              ClassNotFoundException
Reads the non-transient fields of this class from an external source.

Supported API: false

Parameters:
thisObject -
input -
readSerialVersionUID -
passThrough -
superDone -
Returns:
boolean
Throws:
IOException
ClassNotFoundException

readOldVersion

private boolean readOldVersion(ObjectInput input,
                               long readSerialVersionUID,
                               boolean passThrough,
                               boolean superDone)
                        throws IOException,
                               ClassNotFoundException
Reads the non-transient fields of this class from an external source, which is not the current version.

Parameters:
input -
readSerialVersionUID -
passThrough -
superDone -
Returns:
boolean
Throws:
IOException
ClassNotFoundException

newRelatedByRelationshipProcessor

public static RelatedByRelationshipProcessor newRelatedByRelationshipProcessor(boolean collectRelationship,
                                                                               boolean collectOtherEnd,
                                                                               boolean otherEndDependant,
                                                                               PostProcessor postProcessor,
                                                                               Class relClass,
                                                                               String roleName,
                                                                               Persistable[] seeds,
                                                                               Map seedTypes,
                                                                               boolean recursive,
                                                                               Map outputTypes)
                                                                        throws WTException


Supported API: false

Parameters:
collectRelationship -
collectOtherEnd -
otherEndDependant -
postProcessor -
relClass -
roleName -
seeds -
seedTypes -
recursive -
outputTypes -
Returns:
RelatedByRelationshipProcessor
Throws:
WTException

initialize

public void initialize(boolean collectRelationship,
                       boolean collectOtherEnd,
                       boolean otherEndDependant,
                       PostProcessor postProcessor,
                       Class relClass,
                       String roleName,
                       Persistable[] seeds,
                       Map seedTypes,
                       boolean recursive,
                       Map outputTypes)
                throws WTException


Supported API: false

Parameters:
collectRelationship -
collectOtherEnd -
otherEndDependant -
postProcessor -
relClass -
roleName -
seeds -
seedTypes -
recursive -
outputTypes -
Throws:
WTException

process

public WTCollection process(WTCollection seeds,
                            CollectionGraph output)
                     throws WTException


Supported API: false

Specified by:
process in interface RelatedByProcessor
Parameters:
seeds -
output -
Returns:
WTCollection
Throws:
WTException

isRecursive

public boolean isRecursive()


Supported API: false

Specified by:
isRecursive in interface RelatedByProcessor
Overrides:
isRecursive in class RelationshipQueryProcessor
Returns:
boolean

setInputMap

public void setInputMap(Map inputMap)
                 throws WTPropertyVetoException


Supported API: false

Specified by:
setInputMap in interface RelatedByProcessor
Overrides:
setInputMap in class AbsResolutionProcessor
Parameters:
inputMap -
Throws:
WTPropertyVetoException

getInputMap

public Map getInputMap()


Supported API: false

Specified by:
getInputMap in interface RelatedByProcessor
Overrides:
getInputMap in class AbsResolutionProcessor
Returns:
Map

appendRelationshipTargetJoin

protected int appendRelationshipTargetJoin(QuerySpec spec)
                                    throws WTException
Overrides:
appendRelationshipTargetJoin in class RelationshipQueryProcessor
Throws:
WTException

postProcess

protected void postProcess(WTKeyedHashMap collected)
                    throws WTException
Throws:
WTException

buildSeedMap

protected WTKeyedHashMap buildSeedMap(Persistable[] seeds,
                                      WTKeyedHashMap relmap)
                               throws WTException
Throws:
WTException

filterSeeds

protected WTCollection filterSeeds(WTCollection seeds)