public abstract class AbstractDBObjectID extends java.lang.Object implements DBObjectID
UNSPECIFIED_TYPE
Modifier | Constructor and Description |
---|---|
protected |
AbstractDBObjectID() |
protected |
AbstractDBObjectID(java.lang.String type) |
protected |
AbstractDBObjectID(java.lang.String type,
DBObjectID parent) |
Modifier and Type | Method and Description |
---|---|
protected boolean |
canEquateWithNullParent(DBObjectID other)
Tests whether this ID can equate to the given other id if the other
id has no parent itself.
|
protected void |
copyToImpl(AbstractDBObjectID target) |
static <T extends AbstractDBObjectID> |
copyWithNewType(T id,
java.util.Map<java.lang.String,java.lang.String> typeMap)
INTERNAL USE ONLY.
|
boolean |
equals(DBObjectID id,
boolean strict)
The equals implementation will order the IDs if appropriate, compare parent
IDs (if any exist) and then call equalsImpl.
|
boolean |
equals(java.lang.Object obj)
By default calls for a strict equals comparison.
|
protected boolean |
equalsImpl(AbstractDBObjectID target)
Returns true if the type of the IDs is the same.
|
protected abstract boolean |
equalsImpl(DBObjectID id,
boolean strict)
Subclasses should implement as appropriate to their equals implementation,
calling
equalsImpl(AbstractDBObjectID) when appropriate. |
protected java.util.logging.Logger |
getLogger()
Gets a Logger for logging messages related to this DBObjectID instance.
|
DBObjectID |
getParent()
Gets this id's parent id (if one exists)
|
java.lang.String |
getType()
Retrieves the type of object referenced by this id.
|
int |
hashCode() |
protected boolean |
hasSameParent(DBObjectID other,
boolean strict)
Compares the parent of this id with the parent of another id, optionally
as a strict comparison.
|
protected DBObject |
resolveFromParent()
If the id's parent is non-null this tries to resolve the parent ID and then
search the parent's children for an object with this ID.
|
DBObject |
resolveInParentObject(DBObject parent)
Used by resolvefromParent to find the object corresponding to this ID in
the given parent object.
|
void |
setParent(DBObjectID parent)
Sets this id's parent id
|
void |
setType(java.lang.String type) |
abstract java.lang.String |
toString()
Subclasses of this abstract ID must implement toString to return a String
representation of the ID.
|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
resolveID
protected AbstractDBObjectID()
protected AbstractDBObjectID(java.lang.String type)
protected AbstractDBObjectID(java.lang.String type, DBObjectID parent)
public final java.lang.String getType()
DBObjectID
getType
in interface DBObjectID
DBObject.getType()
public final void setType(java.lang.String type)
public final DBObjectID getParent()
getParent
in interface DBObjectID
public void setParent(DBObjectID parent)
protected final DBObject resolveFromParent() throws DBException
DBException
public DBObject resolveInParentObject(DBObject parent) throws DBException
parent
- the object to look under for an object matching this ID.DBException
public final boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public final boolean equals(DBObjectID id, boolean strict)
equals
in interface DBObjectID
id
- the DBObjectID being checked for equalitystrict
- whether a strict definition of equality should be used.equalsImpl(DBObjectID,boolean)
protected boolean hasSameParent(DBObjectID other, boolean strict)
protected boolean canEquateWithNullParent(DBObjectID other)
protected abstract boolean equalsImpl(DBObjectID id, boolean strict)
equalsImpl(AbstractDBObjectID)
when appropriate.protected boolean equalsImpl(AbstractDBObjectID target)
protected void copyToImpl(AbstractDBObjectID target)
public final int hashCode()
hashCode
in class java.lang.Object
public abstract java.lang.String toString()
toString
in class java.lang.Object
public static <T extends AbstractDBObjectID> T copyWithNewType(T id, java.util.Map<java.lang.String,java.lang.String> typeMap)
id
- the id to copytypeMap
- the mapping of object types to apply to the copyprotected java.util.logging.Logger getLogger()