public class TemporaryObjectID extends java.lang.Object implements DBObjectID
| Modifier and Type | Class and Description |
|---|---|
static class |
TemporaryObjectID.CopyBackPolicy
IDPolicy to use when copying the temp copy of an object back over its original object.
|
static class |
TemporaryObjectID.TemporaryIDPolicy
IDPolicy that creates a TemporaryObjectID for every object that has the original object set.
|
UNSPECIFIED_TYPE| Modifier and Type | Method and Description |
|---|---|
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 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 <T extends DBObject> |
findOriginalObject(T obj)
Finds the original object for the given object, if the given object is a copy with a TemporaryObjectID.
|
static DBObject |
findOriginalObject(TemporaryObjectID id)
Returns the original object's id, or null if there is no original object.
|
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)
If the given object doesn't have an ID, this sets a new TemporaryObjectID on the object.
|
java.lang.String |
toString() |
public java.lang.Object copyTo(java.lang.Object target)
Copyablethis 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.copyTo in interface Copyabletarget - 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.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.public final boolean equals(java.lang.Object obj)
equals in class java.lang.Objectpublic boolean equals(DBObjectID id, boolean strict)
DBObjectIDequals in interface DBObjectIDid - the DBObjectID being checked for equalitystrict - whether a strict definition of equality should be used.public java.lang.String getType()
DBObjectIDgetType in interface DBObjectIDDBObject.getType()public DBObjectID getParent()
getParent in interface DBObjectIDpublic DBObject resolveID() throws DBException
DBObjectIDresolveID in interface DBObjectIDDBExceptionpublic DBObject resolveOriginalID() throws DBException
DBExceptionfindOriginalObject(oracle.javatools.db.TemporaryObjectID)public java.lang.String toString()
toString in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic static DBObjectID createID(DBObject obj)
obj - the DBObject referenced by this IDpublic static void setID(DBObject obj, boolean recurse)
obj - the DBObject referenced by this IDrecurse - whether to set TemporaryObjectIDs on obj's descendentspublic static DBObjectID createID(DBObject obj, DBObject original)
obj - the DBObject referenced by this IDoriginal - the DBObject which has been copied to create the temporary objectpublic static DBObjectID findOriginalID(TemporaryObjectID id)
public static DBObject findOriginalObject(TemporaryObjectID id)
public static <T extends DBObject> T findOriginalObject(T obj)
obj - the copy to find the original forfindOriginalObject(TemporaryObjectID)