wt.fc
Class PersistentReference

java.lang.Object
  extended bywt.fc.PersistentReference
All Implemented Interfaces:
Externalizable, NetFactor, ObjectMappable, Serializable, WTReference

public final class PersistentReference
extends Object
implements WTReference, Externalizable

This class holds a WTReference in a persistant form regardless of the type of reference. It stores the reference in a neutral string form. It uses the ReferenceFactory mechanisms to map back and forth between the object and string forms of the reference.

Use the newPersistentReference static factory method(s), not the PersistentReference 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:
ReferenceFactory, Serialized Form

Field Summary
private static String CLASSNAME
           
static long EXTERNALIZATION_VERSION_UID
           
private  StringKey key
           
static String KEY
          Label for the attribute.
private  Persistable object
           
static String OBJECT
          Label for the attribute.
protected static long OLD_FORMAT_VERSION_UID
           
private static String RESOURCE
           
(package private) static long serialVersionUID
           
 
Constructor Summary
PersistentReference()
           
 
Method Summary
 boolean equals(Object obj)
          

Supported API: false
 ClassInfo getClassInfo()
          Returns the ClassInfo object for this class.
 String getConceptualClassname()
          Deprecated.  
 QueryKey getKey()
          Gets the object for the association that plays role: KEY.
 Persistable getObject()
          Gets the object for the association that plays role: OBJECT.
 Class getReferencedClass()
          Returns the class that this reference refers to.
 int hashCode()
          

Supported API: false
protected  void initialize(Persistable object)
          Supports initialization, following construction of an instance.
protected  void initialize(WTReference reference)
          Supports initialization, following construction of an instance.
static PersistentReference newPersistentReference(Persistable object)
          Constructs a reference given the supplied Persistable.
static PersistentReference newPersistentReference(WTReference reference)
          Constructs a reference given the supplied WTReference.
 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(PersistentReference thisObject, ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source.
 boolean references(Persistable obj)
          

Supported API: false
 void refresh()
          

Supported API: false
 void setKey(QueryKey a_Key)
          Sets the object for the association that plays role: KEY.
 String toString()
          Returns the conceptual (modeled) name for the class.
 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 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

KEY

public static final String KEY
Label for the attribute.

Supported API: false

See Also:
Constant Field Values

key

private StringKey key

OBJECT

public static final String OBJECT
Label for the attribute.

Supported API: false

See Also:
Constant Field Values

object

private Persistable object

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

PersistentReference

public PersistentReference()
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(PersistentReference 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
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
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
Returns:
String

toString

public String toString()
Returns the conceptual (modeled) name for the class.

Supported API: false

Returns:
String

getClassInfo

public ClassInfo getClassInfo()
                       throws WTIntrospectionException
Returns the ClassInfo object for this class.

Supported API: false

Specified by:
getClassInfo in interface NetFactor
Returns:
ClassInfo
Throws:
WTIntrospectionException

getObject

public Persistable getObject()
                      throws WTRuntimeException
Gets the object for the association that plays role: OBJECT.

Supported API: false

Specified by:
getObject in interface WTReference
Returns:
Persistable
Throws:
WTRuntimeException

newPersistentReference

public static PersistentReference newPersistentReference(WTReference reference)
                                                  throws WTException
Constructs a reference given the supplied WTReference. The reference is constructed using ReferenceFactory to produce the desired persistent value.

Supported API: false

Parameters:
reference -
Returns:
PersistentReference
Throws:
WTException

initialize

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

Supported API: false

Parameters:
reference -
Throws:
WTException

newPersistentReference

public static PersistentReference newPersistentReference(Persistable object)
                                                  throws WTException
Constructs a reference given the supplied Persistable. The reference is constructed using ReferenceFactory to produce the desired persistent value.

Supported API: false

Parameters:
object -
Returns:
PersistentReference
Throws:
WTException

initialize

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

Supported API: false

Parameters:
object -
Throws:
WTException

equals

public boolean equals(Object obj)


Supported API: false

Specified by:
equals in interface WTReference
Parameters:
obj -
Returns:
boolean

hashCode

public int hashCode()


Supported API: false

Specified by:
hashCode in interface WTReference
Returns:
int

refresh

public void refresh()
             throws WTException


Supported API: false

Specified by:
refresh in interface WTReference
Throws:
WTException

references

public boolean references(Persistable obj)


Supported API: false

Specified by:
references in interface WTReference
Parameters:
obj -
Returns:
boolean

getReferencedClass

public Class getReferencedClass()
Returns the class that this reference refers to. This method does not retreive the referenced object from the database.

Supported API: false

Specified by:
getReferencedClass in interface WTReference
Returns:
Class

getKey

public QueryKey getKey()
Gets the object for the association that plays role: KEY.

Supported API: false

Specified by:
getKey in interface WTReference
Returns:
QueryKey

setKey

public void setKey(QueryKey a_Key)
Sets the object for the association that plays role: KEY.

Supported API: false

Specified by:
setKey in interface WTReference
Parameters:
a_Key -