wt.graph
Class NodeReference

java.lang.Object
  extended bywt.fc.ObjectReference
      extended bywt.graph.NodeReference
All Implemented Interfaces:
Evolvable, Externalizable, NetFactor, ObjectMappable, Serializable, WTReference

public class NodeReference
extends ObjectReference
implements Externalizable

Provides a mechanism that is a type of object reference either to a specific object or a latest iteration of a version of an object. By default the "key" will be the primary means to identify the referenced object. But if this primary key is void then the "alternate key" must then identify the object being referenced.

Either the primary or alternate key must be valid. In other words, it is invalid to have an edge reference that points to nothing, or points to two objects.

Use the newNodeReference static factory method(s), not the NodeReference constructor, to construct instances of this class. Instances must be constructed using the static factory(s), in order to ensure proper initialization of the instance.



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
           
 
Fields inherited from class wt.fc.ObjectReference
KEY, object, OBJECT_ID
 
Fields inherited from interface wt.fc.WTReference
OBJECT
 
Constructor Summary
NodeReference()
           
 
Method Summary
 String getConceptualClassname()
          Deprecated.  
protected  void initialize(ObjectGraphNode node)
          Supports initialization, following construction of an instance.
protected  void initialize(ObjectIdentifier objectId)
          Supports initialization, following construction of an instance.
protected  void initialize(ObjectReference reference)
          Supports initialization, following construction of an instance.
static NodeReference newNodeReference(ObjectGraphNode node)
          Constructs a reference to a Persistable object graph node object.
static NodeReference newNodeReference(ObjectIdentifier objectId)
          Constructs a reference to the object identified by an ObjectIdentifier.
static NodeReference newNodeReference(ObjectReference reference)
          Constructs a reference to the object referred to by another ObjectReference.
 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(NodeReference 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.
 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.ObjectReference
deflate, equals, getClassInfo, getKey, getObject, getObjectId, getReferencedClass, getReferencedClass, hashCode, hasPersistence, initialize, initialize, isObjectInflated, newObjectReference, newObjectReference, newObjectReference, newObjectReference, readVersion, references, refresh, setKey, setObject, setObjectId, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, 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

NodeReference

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

readVersion

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

getConceptualClassname

public String getConceptualClassname()
Deprecated.  

Returns the conceptual (modeled) name for the class.

Supported API: false

Specified by:
getConceptualClassname in interface NetFactor
Overrides:
getConceptualClassname in class ObjectReference
Returns:
String

newNodeReference

public static NodeReference newNodeReference(ObjectIdentifier objectId)
                                      throws WTException
Constructs a reference to the object identified by an ObjectIdentifier.

Supported API: false

Parameters:
objectId -
Returns:
NodeReference
Throws:
WTException

initialize

protected void initialize(ObjectIdentifier objectId)
                   throws WTException
Supports initialization, following construction of an instance. Invoked by "new" factory having the same signature.

Supported API: false

Overrides:
initialize in class ObjectReference
Parameters:
objectId -
Throws:
WTException

newNodeReference

public static NodeReference newNodeReference(ObjectReference reference)
                                      throws WTException
Constructs a reference to the object referred to by another ObjectReference.

Supported API: false

Parameters:
reference -
Returns:
NodeReference
Throws:
WTException

initialize

protected void initialize(ObjectReference reference)
                   throws WTException
Supports initialization, following construction of an instance. Invoked by "new" factory having the same signature.

Supported API: false

Overrides:
initialize in class ObjectReference
Parameters:
reference -
Throws:
WTException

newNodeReference

public static NodeReference newNodeReference(ObjectGraphNode node)
                                      throws WTException
Constructs a reference to a Persistable object graph node object.

Supported API: false

Parameters:
node -
Returns:
NodeReference
Throws:
WTException

initialize

protected void initialize(ObjectGraphNode node)
                   throws WTException
Supports initialization, following construction of an instance. Invoked by "new" factory having the same signature.

Supported API: false

Parameters:
node -
Throws:
WTException