public class IdentifierBasedID extends BaseObjectID
Previously (9.0.5.1 - 10.1.3) this was
oracle.javatools.db.ora.TopLevelObjectID
.
SEP
UNSPECIFIED_TYPE
Constructor and Description |
---|
IdentifierBasedID() |
IdentifierBasedID(DBObject obj,
java.lang.Object identifier,
AbstractDBObjectProvider pro) |
IdentifierBasedID(java.lang.String type,
java.lang.Object identifier) |
IdentifierBasedID(java.lang.String type,
java.lang.Object identifier,
AbstractDBObjectProvider pro) |
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.
|
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 void |
copyToImpl(IdentifierBasedID target) |
protected boolean |
equalsImpl(DBObjectID id,
boolean strict)
Subclasses should implement as appropriate to their equals implementation,
calling
AbstractDBObjectID.equalsImpl(AbstractDBObjectID) when appropriate. |
java.lang.Object |
getIdentifier()
Gets the ID (identifier) that this ID is using.
|
DBObject |
resolveID()
Resolves the id into the object referenced.
|
void |
setIdentifier(java.lang.Object id)
Sets the ID (identifier) that this ID is using.
|
protected java.lang.String |
toStringImpl() |
clearToString, copyToImpl, copyWithNewProvider, createFromString, equalsImpl, getDatabaseName, getName, getProvider, getSchemaName, hasSameObjectName, hasSameProvider, isRecognizedType, resolveFromProvider, resolveInParentObject, setDatabaseName, setName, setParent, setProvider, setProviderImpl, setSchema, setSchemaName, toString
copyToImpl, copyWithNewType, equals, equals, equalsImpl, getParent, getType, hashCode, hasSameParent, resolveFromParent, setType
public IdentifierBasedID()
public IdentifierBasedID(java.lang.String type, java.lang.Object identifier)
public IdentifierBasedID(java.lang.String type, java.lang.Object identifier, AbstractDBObjectProvider pro)
public IdentifierBasedID(DBObject obj, java.lang.Object identifier, AbstractDBObjectProvider pro)
public void construct(java.lang.String id)
construct
in class BaseObjectID
id
- The ID in string form.protected boolean equalsImpl(DBObjectID id, boolean strict)
AbstractDBObjectID
AbstractDBObjectID.equalsImpl(AbstractDBObjectID)
when appropriate.equalsImpl
in class AbstractDBObjectID
public final java.lang.Object getIdentifier()
public final void setIdentifier(java.lang.Object id)
public java.lang.Object copyTo(java.lang.Object target)
Copyable
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:
The parameter passed into thepublic 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> }
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 void copyToImpl(IdentifierBasedID target)
protected java.lang.String toStringImpl()
toStringImpl
in class BaseObjectID
protected boolean canEquateWithNullParent(DBObjectID other)
AbstractDBObjectID
canEquateWithNullParent
in class AbstractDBObjectID
public DBObject resolveID() throws DBException
DBObjectID
resolveID
in interface DBObjectID
resolveID
in class BaseObjectID
DBException