public class NameBasedID extends BaseObjectID
A NameBasedID will not resolve to any object that has the same name and type. It is used to identify a specific DBObject in a specific DBObjectProvider. For example a NameBasedID should not resolve to an object in a provider if that object has an IdentifiedBasedID. If you need to reference another object amiguously, without knowing specifically that it is identified by a NameBasedID, then use ReferenceID.
SEPUNSPECIFIED_TYPE| Constructor and Description |
|---|
NameBasedID() |
NameBasedID(DBObject obj, AbstractDBObjectProvider pro) |
NameBasedID(DBObject obj, DBObjectID parent) |
NameBasedID(java.lang.String type, java.lang.String objName, DBObjectID parent) |
NameBasedID(java.lang.String type, java.lang.String schemaName, java.lang.String objName) |
NameBasedID(java.lang.String type, java.lang.String schemaName, java.lang.String objName, AbstractDBObjectProvider pro) |
| Modifier and Type | Method and Description |
|---|---|
void |
construct(java.lang.String id)
INTERNAL USE ONLY Constructs the ID from the information in the string parameter.
|
java.lang.Object |
copyTo(java.lang.Object target)
Copies the internal state of
this object to the specified copy. |
protected boolean |
equalsImpl(DBObjectID id, boolean strict)
Subclasses should implement as appropriate to their equals implementation, calling
AbstractDBObjectID.equalsImpl(AbstractDBObjectID) when appropriate. |
protected java.lang.String |
toStringImpl() |
clearToString, copyToImpl, copyWithNewProvider, createFromString, equalsImpl, getDatabaseName, getName, getProvider, getSchemaName, hasSameObjectName, hasSameProvider, isRecognizedType, resolveFromProvider, resolveID, resolveIDWithoutType, resolveIDWithoutType, resolveIDWithoutType, setDatabaseName, setName, setParent, setProvider, setProviderImpl, setSchema, setSchemaName, toStringcanEquateWithNullParent, copyToImpl, equals, equals, equalsImpl, getParent, getType, hashCode, hasSameParent, resolveFromParent, resolveInParentObject, setTypepublic NameBasedID()
public NameBasedID(java.lang.String type,
java.lang.String schemaName,
java.lang.String objName)
public NameBasedID(java.lang.String type,
java.lang.String schemaName,
java.lang.String objName,
AbstractDBObjectProvider pro)
public NameBasedID(java.lang.String type,
java.lang.String objName,
DBObjectID parent)
public NameBasedID(DBObject obj, AbstractDBObjectProvider pro)
public NameBasedID(DBObject obj, DBObjectID parent)
public void construct(java.lang.String id)
construct in class BaseObjectIDid - The ID in string form.protected boolean equalsImpl(DBObjectID id, boolean strict)
AbstractDBObjectIDAbstractDBObjectID.equalsImpl(AbstractDBObjectID) when appropriate.equalsImpl in class AbstractDBObjectIDpublic 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.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.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.protected java.lang.String toStringImpl()
toStringImpl in class BaseObjectID