wt.graph.template
Class AbstractObjectGraphTemplate

java.lang.Object
  extended bywt.fc.WTObject
      extended bywt.graph.AbstractObjectGraph
          extended bywt.graph.template.AbstractObjectGraphTemplate
All Implemented Interfaces:
Cloneable, DisplayIdentification, Externalizable, GraphModel, GraphNodeModel, NetFactor, NodeExpander, ObjectGraph, ObjectGraphNode, ObjectGraphTemplate, ObjectMappable, Persistable, Serializable, Walker
Direct Known Subclasses:
ExportObjectGraphTemplate

public abstract class AbstractObjectGraphTemplate
extends AbstractObjectGraph
implements ObjectGraphTemplate, Externalizable

Provides a value-add "basic" implementation of an object graph template abstraction. It wraps the object graph factory, and specializes the notion of an object graph by extending it.

This "basic" implementation can be the customizaton point of where to begin specializing. Or alternatively specialization could start at its superclass the object graph template for maximum flexibility.



Supported API: false

Extendable: false

See Also:
Serialized Form

Field Summary
private static String CLASSNAME
           
static long EXTERNALIZATION_VERSION_UID
           
private  ObjectGraphTemplate[] fragmentList
           
protected static long OLD_FORMAT_VERSION_UID
           
private static String RESOURCE
           
(package private) static long serialVersionUID
           
 
Fields inherited from class wt.graph.AbstractObjectGraph
ROOT
 
Fields inherited from class wt.fc.WTObject
CREATE_TIMESTAMP, MODIFY_TIMESTAMP
 
Fields inherited from interface wt.graph.template.ObjectGraphTemplate
FRAGMENT_LIST
 
Fields inherited from interface wt.graph.ObjectGraph
NODE_EXPANDER, ROOT, ROOT_REFERENCE, VISITOR, WALKER_IMPL
 
Fields inherited from interface wt.fc.Persistable
IDENTITY, PERSIST_INFO, TYPE
 
Fields inherited from interface wt.graph.ObjectGraphNode
EXCLUDED, GRAPH, ID, INFO
 
Fields inherited from interface wt.util.graph.GraphNodeModel
NEIGHBOR
 
Fields inherited from interface wt.util.graph.GraphModel
EDGE_IMPL, EDGE_LIST, NODE_IMPL, NODE_LIST
 
Fields inherited from interface wt.identity.DisplayIdentification
DISPLAY_IDENTIFIER, DISPLAY_IDENTITY, DISPLAY_TYPE
 
Constructor Summary
AbstractObjectGraphTemplate()
           
 
Method Summary
 Object clone()
          

Supported API: false
 void defragment()
          

Supported API: false
 boolean equals(Object obj)
          Tests if two references refer to the same object.
 void fragment()
          

Supported API: false
private  String[] getAliases(String name, ObjectGraphNode[] nodeList)
           
private  Vector getAllNeighborEdges(String name, ObjectGraphEdge[] edgeList)
           
private  Vector getAllNeighbors(String name, ObjectGraphEdge[] edgeList)
           
private  Vector getAllOriginEdges(String name, ObjectGraphEdge[] edgeList)
           
private  ObjectGraphEdgeTemplate getEdge(String name1, String name2, ObjectGraphEdge[] edgeList)
           
private  void getFragmentedNodesOf(String name, ObjectGraphNode[] nodeList, ObjectGraphEdge[] edgeList, Vector nodeNameList, Vector edgeNameList, Vector fragNodeList, Vector fragEdgeList)
           
 ObjectGraphTemplate[] getFragmentList()
          Gets the value of the attribute: FRAGMENT_LIST.
private  ObjectGraphNodeTemplate getNode(String name1, ObjectGraphNode[] nodeList)
           
 int hashCode()
          Returns a hash code for this object based upon its ObjectIdentifier.
 boolean isFragmented()
          

Supported API: false
 void readExternal(ObjectInput input)
          Reads the non-transient fields of this class from an external source.
 void readExternal(PersistentRetrieveIfc input)
          Used by Persistent Data Service to populate the persistent attributes of this class from a persistent store.
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(AbstractObjectGraphTemplate thisObject, ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source.
 void setFragmentList(ObjectGraphTemplate[] a_FragmentList)
          Sets the value of the attribute: FRAGMENT_LIST.
 void writeExternal(ObjectOutput output)
          Writes the non-transient fields of this class to an external source.
 void writeExternal(PersistentStoreIfc output)
          Used by Persistent Data Service to obtain the values of the persistent attributes of this class, so they can be written to a persistent store.
 
Methods inherited from class wt.graph.AbstractObjectGraph
expandNode, getEdgeImpl, getEdgeList, getGraph, getId, getInfo, getNodeExpander, getNodeImpl, getNodeList, getRoot, getRootReference, getVisitor, getWalkerImpl, isExcluded, readVersion, setEdgeImpl, setEdgeList, setExcluded, setGraph, setId, setInfo, setNodeExpander, setNodeImpl, setNodeList, setRoot, setRootReference, setVisitor, setWalkerImpl, traverse, traverse
 
Methods inherited from class wt.fc.WTObject
checkAttributes, duplicate, finalize, getClassInfo, getCreateTimestamp, getDisplayIdentifier, getDisplayIdentity, getDisplayType, getIdentity, getModifyTimestamp, getPersistInfo, getType, initialize, readVersion, setPersistInfo, toString
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface wt.graph.ObjectGraph
getNodeExpander, getRoot, getRootReference, getVisitor, getWalkerImpl, setNodeExpander, setRoot, setRootReference, setVisitor, setWalkerImpl
 
Methods inherited from interface wt.fc.Persistable
checkAttributes, getIdentity, getPersistInfo, getType, setPersistInfo
 
Methods inherited from interface wt.fc.NetFactor
getClassInfo, getConceptualClassname
 
Methods inherited from interface wt.visitor.Walker
traverse
 
Methods inherited from interface wt.graph.ObjectGraphNode
getGraph, getId, getInfo, isExcluded, setExcluded, setGraph, setId, setInfo
 
Methods inherited from interface wt.visitor.NodeExpander
expandNode
 
Methods inherited from interface wt.util.graph.GraphModel
getEdgeImpl, getEdgeList, getNodeImpl, getNodeList, setEdgeImpl, setEdgeList, setNodeImpl, setNodeList, traverse
 

Field Detail

RESOURCE

private static final String RESOURCE
See Also:
Constant Field Values

CLASSNAME

private static final String CLASSNAME

fragmentList

private ObjectGraphTemplate[] fragmentList

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
Constructor Detail

AbstractObjectGraphTemplate

public AbstractObjectGraphTemplate()
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 AbstractObjectGraph
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 AbstractObjectGraph
Parameters:
input -
Throws:
IOException
ClassNotFoundException

readVersion

protected boolean readVersion(AbstractObjectGraphTemplate 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

writeExternal

public void writeExternal(PersistentStoreIfc output)
                   throws SQLException,
                          DatastoreException
Used by Persistent Data Service to obtain the values of the persistent attributes of this class, so they can be written to a persistent store.

(Not intended for general use.)

Supported API: false

Specified by:
writeExternal in interface ObjectMappable
Overrides:
writeExternal in class AbstractObjectGraph
Parameters:
output -
Throws:
SQLException
DatastoreException

readExternal

public void readExternal(PersistentRetrieveIfc input)
                  throws SQLException,
                         DatastoreException
Used by Persistent Data Service to populate the persistent attributes of this class from a persistent store.

(Not intended for general use.)

Supported API: false

Specified by:
readExternal in interface ObjectMappable
Overrides:
readExternal in class AbstractObjectGraph
Parameters:
input -
Throws:
SQLException
DatastoreException

clone

public Object clone()


Supported API: false

Specified by:
clone in interface GraphNodeModel
Overrides:
clone in class AbstractObjectGraph
Returns:
Object

equals

public boolean equals(Object obj)
Tests if two references refer to the same object.

Supported API: false

Specified by:
equals in interface GraphNodeModel
Overrides:
equals in class AbstractObjectGraph
Parameters:
obj -
Returns:
true if both references refer to the same object, otherwise false.

fragment

public void fragment()
              throws WTException,
                     WTPropertyVetoException,
                     ObjectGraphException


Supported API: false

Specified by:
fragment in interface ObjectGraphTemplate
Throws:
WTException
WTPropertyVetoException
ObjectGraphException

defragment

public void defragment()
                throws WTException,
                       WTPropertyVetoException,
                       ObjectGraphException


Supported API: false

Specified by:
defragment in interface ObjectGraphTemplate
Throws:
WTException
WTPropertyVetoException
ObjectGraphException

isFragmented

public boolean isFragmented()


Supported API: false

Specified by:
isFragmented in interface ObjectGraphTemplate
Returns:
boolean

getFragmentList

public ObjectGraphTemplate[] getFragmentList()
Gets the value of the attribute: FRAGMENT_LIST.

Supported API: false

Specified by:
getFragmentList in interface ObjectGraphTemplate
Returns:
ObjectGraphTemplate[]

setFragmentList

public void setFragmentList(ObjectGraphTemplate[] a_FragmentList)
Sets the value of the attribute: FRAGMENT_LIST.

Supported API: false

Specified by:
setFragmentList in interface ObjectGraphTemplate
Parameters:
a_FragmentList -

hashCode

public int hashCode()
Returns a hash code for this object based upon its ObjectIdentifier. Delegates to PersistenceHelper.hashCode(Persistable).

Warning: Certain core Windchill operations may depend upon hashCode being ObjectIdentifier-based. Changes to the default implementation should be done with care, if at all.

Supported API: false

Overrides:
hashCode in class AbstractObjectGraph
Returns:
int

getFragmentedNodesOf

private void getFragmentedNodesOf(String name,
                                  ObjectGraphNode[] nodeList,
                                  ObjectGraphEdge[] edgeList,
                                  Vector nodeNameList,
                                  Vector edgeNameList,
                                  Vector fragNodeList,
                                  Vector fragEdgeList)

getAliases

private String[] getAliases(String name,
                            ObjectGraphNode[] nodeList)

getAllNeighbors

private Vector getAllNeighbors(String name,
                               ObjectGraphEdge[] edgeList)

getAllOriginEdges

private Vector getAllOriginEdges(String name,
                                 ObjectGraphEdge[] edgeList)

getAllNeighborEdges

private Vector getAllNeighborEdges(String name,
                                   ObjectGraphEdge[] edgeList)

getEdge

private ObjectGraphEdgeTemplate getEdge(String name1,
                                        String name2,
                                        ObjectGraphEdge[] edgeList)

getNode

private ObjectGraphNodeTemplate getNode(String name1,
                                        ObjectGraphNode[] nodeList)