org.exolab.castor.persist
Class OID

java.lang.Object
  extended byorg.exolab.castor.persist.OID

public final class OID
extends java.lang.Object

Object identifier. An object identifier is unique within a cache engine or other persistence mechanism and is used to locate object based on their identity as well as assure no duplicate identities. The object type and it's identity object define the OID's identity. In addition the OID is used to hold the object's stamp and db-lock access fields which are used to optimize dirty checking within a transaction.

Version:
$Revision: 1.20 $ $Date: 2001/04/21 21:04:52 $
Author:
Assaf Arkin

Constructor Summary
(package private) OID(LockEngine engine, ClassMolder molder, java.lang.Object identity)
          Constructor
(package private) OID(LockEngine engine, ClassMolder molder, OID depends, java.lang.Object identity)
          Constructor
 
Method Summary
 boolean equals(java.lang.Object obj)
          Returns true if the two OID's are identical.
 OID getDepends()
          Get the depended object's oid
(package private)  java.lang.Object getIdentity()
          Return the object's identity, if known.
(package private)  LockEngine getLockEngine()
          Get the LockEngine of this object
(package private)  ClassMolder getMolder()
          Get the ClassMolder of this object
(package private)  java.lang.String getName()
          Return the full qualified name of the object's type.
(package private)  java.lang.Object getStamp()
          Returns the OID's stamp.
(package private)  java.lang.String[] getSuperClassNames()
          Return the full qualified names of the object's superclasses, if any, otherwise returns null.
 int hashCode()
           
(package private)  boolean isDbLock()
          Returns true if the object represented by this OID has a database lock.
(package private)  void setDbLock(boolean dbLock)
          Specifies whether the object represented by this OID has a database lock.
(package private)  void setStamp(java.lang.Object stamp)
          Sets the OID's stamp.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

OID

OID(LockEngine engine,
    ClassMolder molder,
    java.lang.Object identity)
Constructor


OID

OID(LockEngine engine,
    ClassMolder molder,
    OID depends,
    java.lang.Object identity)
Constructor

Method Detail

getDepends

public OID getDepends()
Get the depended object's oid

Returns:
the depended object's oid

getMolder

ClassMolder getMolder()
Get the ClassMolder of this object

Returns:
the ClassMolder of this object

getLockEngine

LockEngine getLockEngine()
Get the LockEngine of this object

Returns:
the LockEngine of this object.

getStamp

java.lang.Object getStamp()
Returns the OID's stamp. The stamp may be used to efficiently implement dirty checking. The stamp is set with a call to setStamp(java.lang.Object) when the object is loaded, created or stored in persistent storage. Not all persistence engines support the stamp mechanism.

Returns:
The OID's stamp, or null

setStamp

void setStamp(java.lang.Object stamp)
Sets the OID's stamp. The stamp may be used to efficiently implement dirty checking. Not all persistence engines support the stamp mechanism.

Parameters:
stamp - The OID's stamp

setDbLock

void setDbLock(boolean dbLock)
Specifies whether the object represented by this OID has a database lock. Database locks overrides the need to perform dirty checking on the object. This status is set when the object is loaded with db-lock access, created or deleted. It is reset when the object is unlocked.

Parameters:
dbLock - True the object represented by this OID has a database lock

isDbLock

boolean isDbLock()
Returns true if the object represented by this OID has a database lock. Database locks overrides the need to perform dirty checking on the object. This status is set when the object is loaded with db-lock access, created or deleted. It is reset when the object is unlocked.

Returns:
True the object represented by this OID is loaded with a datbase lock

getIdentity

java.lang.Object getIdentity()
Return the object's identity, if known. And identity exists for every object that was loaded within a transaction and for those objects that were created with an identity. No two objects may have the same identity in persistent storage. If the object was created without an identity this method will return null until the object is first stored and it's identity is set.

Returns:
The object's identity, or null

getName

java.lang.String getName()
Return the full qualified name of the object's type. When using inheritance this is the type's full name of the top most object in the inheritance heirarchy specified in the object mapping.

Returns:
The object's type's full name

getSuperClassNames

java.lang.String[] getSuperClassNames()
Return the full qualified names of the object's superclasses, if any, otherwise returns null.

Returns:
The object's type's superclasses full name

equals

public boolean equals(java.lang.Object obj)
Returns true if the two OID's are identical. Two OID's are identical only if they represent the same object type and have the same identity (based on equality test). If no identity was specified for either or both objects, the objects are not identical.


toString

public java.lang.String toString()

hashCode

public int hashCode()


Intalio Inc. (C) 1999-2001. All rights reserved http://www.intalio.com