Oracle Fusion Middleware Java API Reference for Oracle Extension SDK Reference
11g Release 1 (11.1.1)

E13403-03

oracle.javatools.db
Class TemporaryObjectID

java.lang.Object
  extended by oracle.javatools.db.TemporaryObjectID
All Implemented Interfaces:
DBObjectID, Copyable

public class TemporaryObjectID
extends java.lang.Object
implements DBObjectID

Implementation of the DBObjectID interface for objects that only exist in memory. The Object ID in this case can point directly to the object.

Since:
9.0.5.1

Method Summary
 java.lang.Object copyTo(java.lang.Object target)
          Copies the internal state of this object to the specified copy.
static DBObjectID createID(DBObject obj)
          Creates a new DBObjectID pointing to a specific object.
static DBObjectID createID(DBObject obj, DBObject original)
          Creates a new DBObjectID pointing to a specific object.
 boolean equals(DBObjectID id)
           
 boolean equals(DBObjectID id, boolean strict)
          Whether the specified id is equivalent to this id.
 boolean equals(java.lang.Object obj)
           
static DBObjectID findOriginalID(TemporaryObjectID id)
          Finds the original most ID in the given TemporaryObjectID's "original object" heirachy.
static DBObject findOriginalObject(TemporaryObjectID id)
          Recurses through the original objects id and beyond (if it's another temp id) until it finds an object that has either no id, or an id that isn't a temp id.
 DBObjectID getParent()
          Returns null.
 java.lang.String getType()
          Retrieves the type of object referenced by this id.
 int hashCode()
           
 DBObject resolveID()
          Resolves the id into the object referenced.
 DBObject resolveOriginalID()
          Get the original object which this temporary one was copied from.
static void setID(DBObject obj, boolean recurse)
          Sets a new TemporaryObjectID on an object.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

copyTo

public java.lang.Object copyTo(java.lang.Object target)
Description copied from interface: Copyable
Copies the internal state of this object to the specified copy. If copy is null, then this method should create a new instance of this class and proceed to copy the internal state to the newly created object. Generally, only the persistent state of the object should be copied, but whether or not it is appropriate to copy transient properties is at the discretion of the individual implementor.

Regardless of whether the copy occurs to an existing object or to a newly created object, the return value is object to which this object's state was copied.

There is a standard implementation pattern for the copyTo method that helps avoid problems that arise when a Copyable object is subclassed. The pattern is:


    public Object copyTo( Object target )
    {
      final <this_class> copy =
        target != null ? (<this_class>) target : new <this_class>();
      copyToImpl( copy );
      return copy;
    }

    protected final void copyToImpl( <this_class> copy )
    {
      super.copyToImpl( copy );  //  if necessary
      //  put code here for copying the properties of <this_class>
    }
  
The parameter passed into the copyToImpl method is the same type of this class. The responsibility of copyToImpl is to copy the state of this class through direct access of the fields. The copyToImpl method should not use getters and setters since these may be overridden, causing the state of this class to be incompletely copied.

Specified by:
copyTo in interface Copyable
Parameters:
target - The target object to which the state of this object should be copied. If target is null, then the copyTo method will return a new instance of this class.
Returns:
The object to which the state of this object was copied. If the target was non-null, then the return value is the same as the target object that was passed in; otherwise, the return value is a new instance of this class.

equals

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

equals

public final boolean equals(DBObjectID id)

equals

public boolean equals(DBObjectID id,
                      boolean strict)
Description copied from interface: DBObjectID
Whether the specified id is equivalent to this id.

Specified by:
equals in interface DBObjectID
Parameters:
id - the DBObjectID being checked for equality
strict - whether a strict definition of equality should be used.
Returns:
whether the id is equal to this

findOriginalObject

public static DBObject findOriginalObject(TemporaryObjectID id)
                                   throws DBException
Recurses through the original objects id and beyond (if it's another temp id) until it finds an object that has either no id, or an id that isn't a temp id.

Throws:
DBException

getType

public java.lang.String getType()
Description copied from interface: DBObjectID
Retrieves the type of object referenced by this id.

Specified by:
getType in interface DBObjectID
Returns:
the type of object
See Also:
DBObject.getType();

getParent

public DBObjectID getParent()
Returns null.

Specified by:
getParent in interface DBObjectID

resolveID

public DBObject resolveID()
                   throws DBException
Description copied from interface: DBObjectID
Resolves the id into the object referenced.

Specified by:
resolveID in interface DBObjectID
Returns:
the DBObject referenced by this DBObjectID
Throws:
DBException

resolveOriginalID

public DBObject resolveOriginalID()
                           throws DBException
Get the original object which this temporary one was copied from. If the copy is also a copy then that copy's original will be returned, and so on. If the original most object has a TemporaryObjectID, null is returned.

Throws:
DBException

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

hashCode

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

createID

public static DBObjectID createID(DBObject obj)
Creates a new DBObjectID pointing to a specific object.

Parameters:
obj - the DBObject referenced by this ID
Returns:
a DBObjectID pointing to the specified object

setID

public static void setID(DBObject obj,
                         boolean recurse)
Sets a new TemporaryObjectID on an object.

Parameters:
obj - the DBObject referenced by this ID
recurse - whether to set TemporaryObjectIDs on obj's descendents

createID

public static DBObjectID createID(DBObject obj,
                                  DBObject original)
Creates a new DBObjectID pointing to a specific object.

Parameters:
obj - the DBObject referenced by this ID
original - the DBObject which has been copied to create the temporary object
Returns:
a DBObjectID pointing to the specified object

findOriginalID

public static DBObjectID findOriginalID(TemporaryObjectID id)
Finds the original most ID in the given TemporaryObjectID's "original object" heirachy. Returns null if the original most object has no ID, or has a TemporaryObjectID that has no original object.


Oracle Fusion Middleware Java API Reference for Oracle Extension SDK Reference
11g Release 1 (11.1.1)

E13403-03

Copyright © 1997, 2009, Oracle. All rights reserved.