wt.graph
Class AbstractObjectGraphNode

java.lang.Object
  extended bywt.fc.WTObject
      extended bywt.graph.AbstractObjectGraphNode
All Implemented Interfaces:
Cloneable, DisplayIdentification, Externalizable, GraphNodeModel, NetFactor, NodeExpander, ObjectGraphNode, ObjectMappable, Persistable, Serializable
Direct Known Subclasses:
AbstractObjectGraphNodeTemplate, TransferObjectGraphNode

public abstract class AbstractObjectGraphNode
extends WTObject
implements ObjectGraphNode, Externalizable

Provides a value-add "basic" implementation of an object graph node abstraction. It wraps the object graph node factory, and extends the notion of persistability by being a type of WTObject.

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



Supported API: true

Extendable: false

See Also:
Serialized Form

Field Summary
private static String CLASSNAME
           
private  Boolean excluded
           
static long EXTERNALIZATION_VERSION_UID
           
private  ObjectReference graph
           
private  String id
           
private static int ID_UPPER_LIMIT
           
private  ObjectInfo info
           
private  Vector neighbor
           
protected static long OLD_FORMAT_VERSION_UID
           
private static String RESOURCE
           
(package private) static long serialVersionUID
           
 
Fields inherited from class wt.fc.WTObject
CREATE_TIMESTAMP, MODIFY_TIMESTAMP
 
Fields inherited from interface wt.graph.ObjectGraphNode
EXCLUDED, GRAPH, ID, INFO
 
Fields inherited from interface wt.fc.Persistable
IDENTITY, PERSIST_INFO, TYPE
 
Fields inherited from interface wt.util.graph.GraphNodeModel
NEIGHBOR
 
Fields inherited from interface wt.identity.DisplayIdentification
DISPLAY_IDENTIFIER, DISPLAY_IDENTITY, DISPLAY_TYPE
 
Constructor Summary
AbstractObjectGraphNode()
           
 
Method Summary
 Object clone()
          

Supported API: false
 boolean equals(Object obj)
          Tests if two references refer to the same object.
 void expandNode(Persistable origin, Vector edges, Vector nodes)
          [Default implementation that] expands the node returning all of the links and nodes associated with the parent node.
 ObjectReference getGraph()
          Gets the object for the association that plays role: GRAPH.
 String getId()
          Gets the value of the attribute: ID.
 ObjectInfo getInfo()
          Gets the object for the association that plays role: INFO.
private  void graphValidate(ObjectReference a_Graph)
           
 int hashCode()
          Returns a hash code for this object based upon its ObjectIdentifier.
private  void idValidate(String a_Id)
           
 boolean isExcluded()
          

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(AbstractObjectGraphNode thisObject, ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source.
protected  void setExcluded(boolean value)
          

Supported API: false
 void setExcluded(Boolean value)
          

Supported API: false
 void setGraph(ObjectReference a_Graph)
          Sets the object for the association that plays role: GRAPH.
 void setId(String a_Id)
          Sets the value of the attribute: ID.
 void setInfo(ObjectInfo a_Info)
          Sets the object for the association that plays role: INFO.
 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.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.fc.Persistable
checkAttributes, getIdentity, getPersistInfo, getType, setPersistInfo
 
Methods inherited from interface wt.fc.NetFactor
getClassInfo, getConceptualClassname
 

Field Detail

RESOURCE

private static final String RESOURCE
See Also:
Constant Field Values

CLASSNAME

private static final String CLASSNAME

ID_UPPER_LIMIT

private static int ID_UPPER_LIMIT

id

private String id

excluded

private Boolean excluded

info

private ObjectInfo info

graph

private ObjectReference graph

neighbor

private Vector neighbor

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

AbstractObjectGraphNode

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

readVersion

protected boolean readVersion(AbstractObjectGraphNode 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 WTObject
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 WTObject
Parameters:
input -
Throws:
SQLException
DatastoreException

clone

public Object clone()


Supported API: false

Specified by:
clone in interface GraphNodeModel
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 WTObject
Parameters:
obj -
Returns:
true if both references refer to the same object, otherwise false.

expandNode

public void expandNode(Persistable origin,
                       Vector edges,
                       Vector nodes)
                throws WTException
[Default implementation that] expands the node returning all of the links and nodes associated with the parent node.

Supported API: true

Specified by:
expandNode in interface NodeExpander
Parameters:
origin -
edges -
nodes -
Throws:
WTException

setExcluded

public void setExcluded(Boolean value)


Supported API: false

Specified by:
setExcluded in interface ObjectGraphNode
Parameters:
value -

setExcluded

protected void setExcluded(boolean value)


Supported API: false

Parameters:
value -

isExcluded

public boolean isExcluded()


Supported API: false

Specified by:
isExcluded in interface ObjectGraphNode
Returns:
boolean

getId

public String getId()
Gets the value of the attribute: ID.

Supported API: false

Specified by:
getId in interface ObjectGraphNode
Returns:
String

setId

public void setId(String a_Id)
           throws WTPropertyVetoException
Sets the value of the attribute: ID.

Supported API: false

Specified by:
setId in interface ObjectGraphNode
Parameters:
a_Id -
Throws:
WTPropertyVetoException

idValidate

private void idValidate(String a_Id)
                 throws WTPropertyVetoException
Parameters:
a_Id -
Throws:
WTPropertyVetoException

getInfo

public ObjectInfo getInfo()
Gets the object for the association that plays role: INFO.

Supported API: false

Specified by:
getInfo in interface ObjectGraphNode
Returns:
ObjectInfo

setInfo

public void setInfo(ObjectInfo a_Info)
Sets the object for the association that plays role: INFO.

Supported API: false

Specified by:
setInfo in interface ObjectGraphNode
Parameters:
a_Info -

getGraph

public ObjectReference getGraph()
Gets the object for the association that plays role: GRAPH.

Supported API: false

Specified by:
getGraph in interface ObjectGraphNode
Returns:
ObjectReference

setGraph

public void setGraph(ObjectReference a_Graph)
              throws WTPropertyVetoException
Sets the object for the association that plays role: GRAPH.

Supported API: false

Specified by:
setGraph in interface ObjectGraphNode
Parameters:
a_Graph -
Throws:
WTPropertyVetoException

graphValidate

private void graphValidate(ObjectReference a_Graph)
                    throws WTPropertyVetoException
Parameters:
a_Graph -
Throws:
WTPropertyVetoException

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 WTObject
Returns:
int