wt.graph
Class AbstractObjectGraphEdge

java.lang.Object
  extended bywt.fc.WTObject
      extended bywt.graph.AbstractObjectGraphEdge
All Implemented Interfaces:
Cloneable, DisplayIdentification, Externalizable, GraphEdgeModel, Link, NetFactor, ObjectGraphEdge, ObjectMappable, Persistable, Serializable
Direct Known Subclasses:
AbstractObjectGraphEdgeTemplate, TransferObjectGraphEdge

public abstract class AbstractObjectGraphEdge
extends WTObject
implements ObjectGraphEdge, Externalizable

Provides a value-add "basic" implementation of an object graph edge abstraction. It wraps the object graph edge 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 edge for maximum flexibility.



Supported API: false

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
           
protected static long OLD_FORMAT_VERSION_UID
           
private static String RESOURCE
           
private  NodeReference roleAObjectRef
           
private  NodeReference roleBObjectRef
           
(package private) static long serialVersionUID
           
 
Fields inherited from class wt.fc.WTObject
CREATE_TIMESTAMP, MODIFY_TIMESTAMP
 
Fields inherited from interface wt.graph.ObjectGraphEdge
EXCLUDED, GRAPH, ID, INFO, NEIGHBOR_ROLE, ORIGIN_ROLE, ROLE_AOBJECT_REF, ROLE_BOBJECT_REF
 
Fields inherited from interface wt.fc.Persistable
IDENTITY, PERSIST_INFO, TYPE
 
Fields inherited from interface wt.fc.Link
ALL_ROLES, BOTH_ROLES, ROLE_AOBJECT_ROLE, ROLE_BOBJECT_ROLE
 
Fields inherited from interface wt.identity.DisplayIdentification
DISPLAY_IDENTIFIER, DISPLAY_IDENTITY, DISPLAY_TYPE
 
Constructor Summary
AbstractObjectGraphEdge()
           
 
Method Summary
 QuerySpec appendJoinCriteria(Persistable obj, String otherSideRole, QuerySpec qs, int targetPos, int linkPos)
          Appends applicable search condition(s) onto the end of the given query spec based on the role to be navigate to and the attributes of the given object.
 QuerySpec appendRoleCriteria(Persistable obj, String role, QuerySpec qs, int linkPos)
          Appends applicable search condition(s) onto the end of the given query spec based on the role and the attributes of the given object.
 Object clone()
          

Supported API: false
 boolean equals(Object obj)
          Tests if two references refer to the same object.
 Object[] getAllObjects()
          Gets all the role objects of this link.
 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.
 Object[] getJoinValues(Persistable obj, String otherSideRole)
          Gets an array of values in the same order as the query was appended with search conditions.
 LinkInfo getLinkInfo()
          Gets the LinkInfo object for this Link

Supported API: false
 GraphNodeModel getNeighbor()
          

Supported API: false
 Persistable getObject(String role)
          Deprecated. replaced by getRoleObject(String)
 GraphNodeModel getOrigin()
          

Supported API: false
 Persistable getOtherObject(Persistable obj)
          Gets this link's other side role.
 String getRole(Persistable obj)
          Gets this link's role name.
 Persistable getRoleAObject()
          Gets the role A object of this Link for this Link.
 QueryKey getRoleAObjectId()
          Gets the object id of the role A object for this Link.
 WTReference getRoleAObjectRef()
          

Supported API: false
 Persistable getRoleBObject()
          Gets the role B object of this Link for this Link.
 QueryKey getRoleBObjectId()
          Gets the object id of the role B object for this Link.
 WTReference getRoleBObjectRef()
          

Supported API: false
 String getRoleIdName(String rolename)
          Gets the role's key id attribute name of this link for the given role name.
 Object getRoleObject(String rolename)
          Gets the role object of this link for the given role name.
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)
           
protected  void initialize(ObjectGraphNode origin, ObjectGraphNode neighbor)
          

Supported API: false
 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(AbstractObjectGraphEdge 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 setNeighbor(GraphNodeModel neighbor)
          validates that the passed in GraphNodeModel is an instanceof ObjectGraphNode.
 void setOrigin(GraphNodeModel origin)
          validates that the passed in GraphNodeModel is an instanceof ObjectGraphNode.
 void setRoleAObject(Persistable roleAObject)
          Sets the role A object for this Link.
 void setRoleAObjectRef(WTReference a_RoleAObjectRef)
          

Supported API: false
 void setRoleBObject(Persistable roleBObject)
          Sets the role B object for this Link.
 void setRoleBObjectRef(WTReference a_RoleBObjectRef)
          

Supported API: false
 void setRoleObject(Object roleObject, String rolename)
          Sets the role object of this link for the given role name.
 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

roleAObjectRef

private NodeReference roleAObjectRef

roleBObjectRef

private NodeReference roleBObjectRef

info

private ObjectInfo info

graph

private ObjectReference graph

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

AbstractObjectGraphEdge

public AbstractObjectGraphEdge()
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(AbstractObjectGraphEdge 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 GraphEdgeModel
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 GraphEdgeModel
Overrides:
equals in class WTObject
Parameters:
obj -
Returns:
true if both references refer to the same object, otherwise false.

getLinkInfo

public LinkInfo getLinkInfo()
                     throws WTIntrospectionException
Gets the LinkInfo object for this Link

Supported API: false

Specified by:
getLinkInfo in interface Link
Returns:
LinkInfo
Throws:
WTIntrospectionException

getObject

public Persistable getObject(String role)
                      throws WTException,
                             InvalidRoleException
Deprecated. replaced by getRoleObject(String)

Gets a Persistable object associated by this link given a role.

Supported API: false

Specified by:
getObject in interface Link
Parameters:
role -
Returns:
Persistable
Throws:
WTException
InvalidRoleException

getOtherObject

public Persistable getOtherObject(Persistable obj)
                           throws ObjectNotForLinkException
Gets this link's other side role.

Supported API: false

Specified by:
getOtherObject in interface Link
Parameters:
obj -
Returns:
Persistable
Throws:
ObjectNotForLinkException

getRole

public String getRole(Persistable obj)
               throws WTException,
                      ObjectNotForLinkException
Gets this link's role name.

Supported API: false

Specified by:
getRole in interface Link
Parameters:
obj -
Returns:
String
Throws:
WTException
ObjectNotForLinkException

getRoleAObject

public Persistable getRoleAObject()
Gets the role A object of this Link for this Link.

Supported API: false

Specified by:
getRoleAObject in interface Link
Returns:
Persistable

setRoleAObject

public void setRoleAObject(Persistable roleAObject)
Sets the role A object for this Link.

Supported API: false

Specified by:
setRoleAObject in interface Link
Parameters:
roleAObject - The role A object for this Link.

getRoleAObjectId

public QueryKey getRoleAObjectId()
Gets the object id of the role A object for this Link.

Supported API: false

Specified by:
getRoleAObjectId in interface Link
Returns:
QueryKey

getRoleBObject

public Persistable getRoleBObject()
Gets the role B object of this Link for this Link.

Supported API: false

Specified by:
getRoleBObject in interface Link
Returns:
Persistable

setRoleBObject

public void setRoleBObject(Persistable roleBObject)
Sets the role B object for this Link.

Supported API: false

Specified by:
setRoleBObject in interface Link
Parameters:
roleBObject - The role B object for this Link.

getRoleBObjectId

public QueryKey getRoleBObjectId()
Gets the object id of the role B object for this Link.

Supported API: false

Specified by:
getRoleBObjectId in interface Link
Returns:
QueryKey

getAllObjects

public Object[] getAllObjects()
Gets all the role objects of this link.

Supported API: false

Specified by:
getAllObjects in interface Link
Returns:
Object[]

getRoleObject

public Object getRoleObject(String rolename)
                     throws WTException
Gets the role object of this link for the given role name.

Supported API: false

Specified by:
getRoleObject in interface Link
Parameters:
rolename -
Returns:
Object
Throws:
WTException

setRoleObject

public void setRoleObject(Object roleObject,
                          String rolename)
                   throws WTException
Sets the role object of this link for the given role name.

Supported API: false

Specified by:
setRoleObject in interface Link
Parameters:
roleObject - The role A object for this Link.
rolename -
Throws:
WTException

getRoleIdName

public String getRoleIdName(String rolename)
                     throws WTException
Gets the role's key id attribute name of this link for the given role name.

Supported API: false

Specified by:
getRoleIdName in interface Link
Parameters:
rolename -
Returns:
String
Throws:
WTException

appendJoinCriteria

public QuerySpec appendJoinCriteria(Persistable obj,
                                    String otherSideRole,
                                    QuerySpec qs,
                                    int targetPos,
                                    int linkPos)
                             throws WTException
Appends applicable search condition(s) onto the end of the given query spec based on the role to be navigate to and the attributes of the given object.

Supported API: false

Specified by:
appendJoinCriteria in interface Link
Parameters:
obj -
otherSideRole -
qs -
targetPos -
linkPos -
Returns:
QuerySpec
Throws:
WTException

getJoinValues

public Object[] getJoinValues(Persistable obj,
                              String otherSideRole)
                       throws WTException
Gets an array of values in the same order as the query was appended with search conditions.

Supported API: false

Specified by:
getJoinValues in interface Link
Parameters:
obj -
otherSideRole -
Returns:
Object[]
Throws:
WTException

appendRoleCriteria

public QuerySpec appendRoleCriteria(Persistable obj,
                                    String role,
                                    QuerySpec qs,
                                    int linkPos)
                             throws WTException
Appends applicable search condition(s) onto the end of the given query spec based on the role and the attributes of the given object.

Supported API: false

Specified by:
appendRoleCriteria in interface Link
Parameters:
obj -
role -
qs -
linkPos -
Returns:
QuerySpec
Throws:
WTException

getRoleAObjectRef

public WTReference getRoleAObjectRef()


Supported API: false

Specified by:
getRoleAObjectRef in interface ObjectGraphEdge
Returns:
WTReference

setRoleAObjectRef

public void setRoleAObjectRef(WTReference a_RoleAObjectRef)


Supported API: false

Specified by:
setRoleAObjectRef in interface ObjectGraphEdge
Parameters:
a_RoleAObjectRef - The role A object for this Link.

getRoleBObjectRef

public WTReference getRoleBObjectRef()


Supported API: false

Specified by:
getRoleBObjectRef in interface ObjectGraphEdge
Returns:
WTReference

setRoleBObjectRef

public void setRoleBObjectRef(WTReference a_RoleBObjectRef)


Supported API: false

Specified by:
setRoleBObjectRef in interface ObjectGraphEdge
Parameters:
a_RoleBObjectRef - The role A object for this Link.

getOrigin

public GraphNodeModel getOrigin()


Supported API: false

Specified by:
getOrigin in interface ObjectGraphEdge
Returns:
GraphNodeModel

setOrigin

public void setOrigin(GraphNodeModel origin)
validates that the passed in GraphNodeModel is an instanceof ObjectGraphNode. If true sets origin to a GraphNodeModel

Supported API: false

Specified by:
setOrigin in interface ObjectGraphEdge
Parameters:
origin -

getNeighbor

public GraphNodeModel getNeighbor()


Supported API: false

Specified by:
getNeighbor in interface ObjectGraphEdge
Returns:
GraphNodeModel

setNeighbor

public void setNeighbor(GraphNodeModel neighbor)
validates that the passed in GraphNodeModel is an instanceof ObjectGraphNode. If true sets neighbor to a GraphNodeModel

Supported API: false

Specified by:
setNeighbor in interface ObjectGraphEdge
Parameters:
neighbor -

initialize

protected void initialize(ObjectGraphNode origin,
                          ObjectGraphNode neighbor)
                   throws WTException


Supported API: false

Parameters:
origin -
neighbor -
Throws:
WTException

setExcluded

public void setExcluded(Boolean value)


Supported API: false

Specified by:
setExcluded in interface ObjectGraphEdge
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 ObjectGraphEdge
Returns:
boolean

getId

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

Supported API: false

Specified by:
getId in interface ObjectGraphEdge
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 ObjectGraphEdge
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 ObjectGraphEdge
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 ObjectGraphEdge
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 ObjectGraphEdge
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 ObjectGraphEdge
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