wt.graph
Class ObjectGraphEdgeFactory

java.lang.Object
  extended bywt.graph.ObjectGraphEdgeFactory
All Implemented Interfaces:
Externalizable, Serializable

public final class ObjectGraphEdgeFactory
extends Object
implements Externalizable

Provides an abstract factory that employs an encoding approach via stream(s) to persist a meta-object's persistent attributes as an XML document. Additionally, this factory employs the Windchill Introspector to faciliate meta-type construction.

Supported API: false

Extendable: false

See Also:
Serialized Form

Field Summary
private static String CLASSNAME
           
static long EXTERNALIZATION_VERSION_UID
           
protected static long OLD_FORMAT_VERSION_UID
           
private static String RESOURCE
           
(package private) static long serialVersionUID
           
 
Constructor Summary
private ObjectGraphEdgeFactory()
           
 
Method Summary
private static ObjectGraphEdge _newEdge(Link link, String edgeImpl)
           
static ObjectGraphEdge newEdge(ObjectGraphNode neighbor, Link link, String edgeImpl)
          Allows construction of an object graph edge based on one node and the persistable link as the edge of the graph.
static ObjectGraphEdge newEdge(ObjectGraphNode origin, ObjectGraphNode neighbor, Link link, String edgeImpl)
          Allows construction of an object graph edge based on two nodes and the persistable link as the edge of the graph.
 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(ObjectGraphEdgeFactory thisObject, ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source.
 void writeExternal(ObjectOutput output)
          Writes the non-transient fields of this class to an external source.
 
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

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

ObjectGraphEdgeFactory

private ObjectGraphEdgeFactory()
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
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
Parameters:
input -
Throws:
IOException
ClassNotFoundException

readVersion

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

newEdge

public static ObjectGraphEdge newEdge(ObjectGraphNode origin,
                                      ObjectGraphNode neighbor,
                                      Link link,
                                      String edgeImpl)
                               throws WTException,
                                      WTPropertyVetoException,
                                      ObjectGraphException
Allows construction of an object graph edge based on two nodes and the persistable link as the edge of the graph.

Supported API: false

Parameters:
origin -
neighbor -
link -
edgeImpl -
Returns:
ObjectGraphEdge
Throws:
WTException
WTPropertyVetoException
ObjectGraphException

newEdge

public static ObjectGraphEdge newEdge(ObjectGraphNode neighbor,
                                      Link link,
                                      String edgeImpl)
                               throws WTException,
                                      WTPropertyVetoException,
                                      ObjectGraphException
Allows construction of an object graph edge based on one node and the persistable link as the edge of the graph.

Supported API: false

Parameters:
neighbor -
link -
edgeImpl -
Returns:
ObjectGraphEdge
Throws:
WTException
WTPropertyVetoException
ObjectGraphException

_newEdge

private static ObjectGraphEdge _newEdge(Link link,
                                        String edgeImpl)
                                 throws WTException,
                                        WTPropertyVetoException,
                                        ObjectGraphException
Throws:
WTException
WTPropertyVetoException
ObjectGraphException