org.apache.cayenne
Class ObjectId

java.lang.Object
  extended by org.apache.cayenne.ObjectId
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
TempObjectId

public class ObjectId
extends java.lang.Object
implements java.io.Serializable

A portable global identifier for persistent objects. ObjectId can be temporary (used for transient or new uncommitted objects) or permanent (used for objects that have been already stored in DB). A temporary ObjectId stores object entity name and a pseudo-unique binary key; permanent id stores a map of values from an external persistent store (aka "primary key").

Author:
Andrus Adamchik
See Also:
Serialized Form

Field Summary
protected  java.lang.String entityName
           
protected  byte[] key
           
protected  java.util.Map objectIdKeys
           
protected  java.util.Map replacementIdMap
           
 
Constructor Summary
ObjectId(java.lang.Class objectClass)
          Deprecated. since 1.2, as new portable ObjectIds can't store Java Class and store entity name instead. This constructor relies on default CayenneModeler naming convention to figure out entity name from class name. This may not work if the classes where mapped differently.
ObjectId(java.lang.Class objectClass, java.util.Map idKeys)
          Deprecated. since 1.2, as new portable ObjectIds can't store Java Class and store entity name instead. This constructor relies on default CayenneModeler naming convention to figure out entity name from class name. This may not work if the classes where mapped differently.
ObjectId(java.lang.Class objectClass, java.lang.String keyName, int id)
          Deprecated. since 1.2, as new portable ObjectIds can't store Java Class and store entity name instead. This constructor relies on default CayenneModeler naming convention to figure out entity name from class name. This may not work if the classes where mapped differently.
ObjectId(java.lang.Class objectClass, java.lang.String keyName, java.lang.Object id)
          Deprecated. since 1.2, as new portable ObjectIds can't store Java Class and store entity name instead. This constructor relies on default CayenneModeler naming convention to figure out entity name from class name. This may not work if the classes where mapped differently.
ObjectId(java.lang.String entityName)
          Creates a TEMPORARY ObjectId.
ObjectId(java.lang.String entityName, byte[] key)
          Creates a TEMPORARY id with a specified entity name and a binary key.
ObjectId(java.lang.String entityName, java.util.Map idMap)
          Creates a portable permanent ObjectId.
ObjectId(java.lang.String entityName, java.lang.String key, int value)
          Creates a portable permanent ObjectId.
ObjectId(java.lang.String entityName, java.lang.String key, java.lang.Object value)
          Creates a portable permanent ObjectId.
 
Method Summary
 ObjectId createReplacementId()
          Creates and returns a replacement ObjectId.
 boolean equals(java.lang.Object object)
           
 java.lang.String getEntityName()
           
 java.util.Map getIdSnapshot()
          Returns an unmodifiable Map of persistent id values, essentailly a primary key map.
 byte[] getKey()
           
 ObjectId getReplacementId()
          Deprecated. Since 1.2 replacement id is built by appending to replacementIdMap.
 java.util.Map getReplacementIdMap()
          Returns a non-null mutable map that can be used to append replacement id values.
 java.lang.Object getValueForAttribute(java.lang.String attrName)
          Deprecated. since 1.2. This method is redundant. Use getIdSnapshot().get(attrName) instead.
 int hashCode()
           
 boolean isReplacementIdAttached()
          Returns true if there is full or partial replacement id attached to this id.
 boolean isTemporary()
           
protected  void setIdKeys(java.util.Map idKeys)
          Deprecated. since 1.2
 void setReplacementId(ObjectId replacementId)
          Deprecated. Since 1.2 replacement id is built by appending to replacementIdMap.
 java.lang.String toString()
          A standard toString method used for debugging.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

entityName

protected java.lang.String entityName

objectIdKeys

protected java.util.Map objectIdKeys

key

protected byte[] key

replacementIdMap

protected java.util.Map replacementIdMap
Constructor Detail

ObjectId

public ObjectId(java.lang.String entityName)
Creates a TEMPORARY ObjectId. Assignes a generated unique key.

Since:
1.2

ObjectId

public ObjectId(java.lang.String entityName,
                byte[] key)
Creates a TEMPORARY id with a specified entity name and a binary key. It is a caller responsibility to provide a globally unique binary key.

Since:
1.2

ObjectId

public ObjectId(java.lang.String entityName,
                java.lang.String key,
                int value)
Creates a portable permanent ObjectId.

Since:
1.2

ObjectId

public ObjectId(java.lang.String entityName,
                java.lang.String key,
                java.lang.Object value)
Creates a portable permanent ObjectId.

Since:
1.2

ObjectId

public ObjectId(java.lang.String entityName,
                java.util.Map idMap)
Creates a portable permanent ObjectId.

Since:
1.2

ObjectId

public ObjectId(java.lang.Class objectClass)
Deprecated. since 1.2, as new portable ObjectIds can't store Java Class and store entity name instead. This constructor relies on default CayenneModeler naming convention to figure out entity name from class name. This may not work if the classes where mapped differently.


ObjectId

public ObjectId(java.lang.Class objectClass,
                java.lang.String keyName,
                int id)
Deprecated. since 1.2, as new portable ObjectIds can't store Java Class and store entity name instead. This constructor relies on default CayenneModeler naming convention to figure out entity name from class name. This may not work if the classes where mapped differently.


ObjectId

public ObjectId(java.lang.Class objectClass,
                java.lang.String keyName,
                java.lang.Object id)
Deprecated. since 1.2, as new portable ObjectIds can't store Java Class and store entity name instead. This constructor relies on default CayenneModeler naming convention to figure out entity name from class name. This may not work if the classes where mapped differently.


ObjectId

public ObjectId(java.lang.Class objectClass,
                java.util.Map idKeys)
Deprecated. since 1.2, as new portable ObjectIds can't store Java Class and store entity name instead. This constructor relies on default CayenneModeler naming convention to figure out entity name from class name. This may not work if the classes where mapped differently.

Method Detail

isTemporary

public boolean isTemporary()

getEntityName

public java.lang.String getEntityName()
Since:
1.2

getKey

public byte[] getKey()

setIdKeys

protected void setIdKeys(java.util.Map idKeys)
Deprecated. since 1.2


getIdSnapshot

public java.util.Map getIdSnapshot()
Returns an unmodifiable Map of persistent id values, essentailly a primary key map. For temporary id returns replacement id, if it was already created. Otherwise returns an empty map.


getValueForAttribute

public java.lang.Object getValueForAttribute(java.lang.String attrName)
Deprecated. since 1.2. This method is redundant. Use getIdSnapshot().get(attrName) instead.

Returns a value of id attribute identified by the name of DbAttribute.


equals

public boolean equals(java.lang.Object object)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

getReplacementId

public ObjectId getReplacementId()
Deprecated. Since 1.2 replacement id is built by appending to replacementIdMap.

Returns a replacement ObjectId associated with this id. Replacement ObjectId is either a permananent ObjectId for an uncommitted object or a new id for object whose id depends on its relationships.


setReplacementId

public void setReplacementId(ObjectId replacementId)
Deprecated. Since 1.2 replacement id is built by appending to replacementIdMap.

Initializes a replacement ObjectId.


getReplacementIdMap

public java.util.Map getReplacementIdMap()
Returns a non-null mutable map that can be used to append replacement id values. This allows to incrementally build a replacement GlobalID.

Since:
1.2

createReplacementId

public ObjectId createReplacementId()
Creates and returns a replacement ObjectId. No validation of ID is done.

Since:
1.2

isReplacementIdAttached

public boolean isReplacementIdAttached()
Returns true if there is full or partial replacement id attached to this id. This method is preferrable to "!getReplacementIdMap().isEmpty()" as it avoids unneeded replacement id map creation.


toString

public java.lang.String toString()
A standard toString method used for debugging.

Overrides:
toString in class java.lang.Object


Copyright © 2001-2006 Apache.org All Rights Reserved.