public class ReferenceID extends BaseObjectID implements ColumnConstraintReferenceID
Modifier and Type | Class and Description |
---|---|
class |
ReferenceID.ReferenceInfo
An object from which all SystemObjects, including any Synonyms, involved in the resolution
of the ID can be discovered.
|
SEP
UNSPECIFIED_TYPE
Constructor and Description |
---|
ReferenceID()
Creates an empty reference ID.
|
ReferenceID(DBObject obj)
Creates a ReferenceID populated with details from the given object
(including a parent ID to match the parent of the obj if one exists).
|
ReferenceID(DBObject obj,
DBObjectProvider pro)
Creates a ReferenceID to the give object, but sets the new reference up
with the given provider.
|
ReferenceID(DBObjectID id)
Creates a ReferenceID to the object that the given id resolves to.
|
ReferenceID(DBObjectID id,
DBObjectProvider pro)
Creates a ReferenceID to the object that the given id resolves to, but
sets the new reference up with the given provider.
|
ReferenceID(java.lang.String type,
DBObjectID parent,
java.lang.String name,
java.lang.String subtype,
java.lang.String[] childObjectNames)
Creates a reference id to a child object that includes child object
information (e.g.
|
ReferenceID(java.lang.String type,
Schema schema,
java.lang.String name)
Creates a new ReferenceID to a SchemaObject with the given type, schema
and object name.
|
ReferenceID(java.lang.String type,
Schema schema,
java.lang.String name,
java.lang.String dbName)
Creates a reference ID to a schema object including a database name that
the object exists in
|
ReferenceID(java.lang.String type,
java.lang.String schemaName,
java.lang.String name)
Creates a new ReferenceID to a SchemaObject with the given type, schema
and object name.
|
Modifier and Type | Method and Description |
---|---|
void |
addChildObjectName(DBObject obj) |
void |
addChildObjectName(DBObjectID id) |
void |
addChildObjectName(java.lang.String name) |
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(ReferenceID target) |
protected boolean |
equalsImpl(DBObjectID id,
boolean strict)
Subclasses should implement as appropriate to their equals implementation,
calling
AbstractDBObjectID.equalsImpl(AbstractDBObjectID) when appropriate. |
protected boolean |
equalsImpl(ReferenceID id) |
java.lang.String[] |
getChildObjectNames() |
java.lang.String[] |
getColumnNames()
Deprecated.
|
java.lang.Object |
getIdentifier()
If this reference ID is refering to an object in a provider that uses
IdentifierBasedID object ids then this records the identifier for the
referenced object.
|
DBObjectID |
getNewID()
Deprecated.
|
ReferenceID.ReferenceInfo |
getReferenceInfo()
Builds a ReferenceInfo which records details of all objects traversed while calling resolveID
on the ReferenceID.
|
java.lang.String |
getSubType()
Retrieves the sub-type of object referenced by this id.
|
DBObject |
resolveID()
Resolves the id into the object referenced.
|
protected DBObject |
resolveInParentObject(DBObject parent)
Used by resolvefromParent to find the object corresponding to this ID in
the given parent object.
|
DBObject |
resolveReference(Database db)
Deprecated.
|
void |
setChildObjectNames(java.lang.String[] names) |
void |
setIdentifier(java.lang.Object obj)
Sets the identifier for the referenced object.
|
void |
setSubType(java.lang.String subType) |
protected java.lang.String |
toStringImpl() |
clearToString, copyToImpl, copyWithNewProvider, createFromString, equalsImpl, getDatabaseName, getName, getProvider, getSchemaName, hasSameObjectName, hasSameProvider, isRecognizedType, resolveFromProvider, setDatabaseName, setName, setParent, setProvider, setProviderImpl, setSchema, setSchemaName, toString
canEquateWithNullParent, copyToImpl, copyWithNewType, equals, equals, equalsImpl, getParent, getType, hashCode, hasSameParent, resolveFromParent, setType
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getName, getSchemaName
equals, getParent, getType
public ReferenceID()
public ReferenceID(DBObjectID id) throws DBException
id
- the id of the object to referenceDBException
public ReferenceID(DBObjectID id, DBObjectProvider pro) throws DBException
id
- the id of the object to referencepro
- the provider the new ID will be used inDBException
public ReferenceID(DBObject obj)
obj
- the object to referencepublic ReferenceID(DBObject obj, DBObjectProvider pro)
obj
- the object to referencepro
- the provider the new ID will be used inpublic ReferenceID(java.lang.String type, java.lang.String schemaName, java.lang.String name)
public ReferenceID(java.lang.String type, Schema schema, java.lang.String name)
public ReferenceID(java.lang.String type, Schema schema, java.lang.String name, java.lang.String dbName)
type
- object type e.g. Table.TYPE
schema
- schema the object is inname
- name of the objectdbName
- a database name for the object - not the provider name, but
used for example as a database link name in oracle for synonym reference
IDs.public ReferenceID(java.lang.String type, DBObjectID parent, java.lang.String name, java.lang.String subtype, java.lang.String[] childObjectNames)
public void construct(java.lang.String id)
construct
in class BaseObjectID
id
- The ID in string form.public final java.lang.String[] getChildObjectNames()
public final void setChildObjectNames(java.lang.String[] names)
public final java.lang.String getSubType()
DBReferenceID
getSubType
in interface DBReferenceID
public final void setSubType(java.lang.String subType)
public final java.lang.Object getIdentifier()
public final void setIdentifier(java.lang.Object obj)
getIdentifier()
@Deprecated public final DBObject resolveReference(Database db)
resolveReference
in interface DBReferenceID
@Deprecated public final DBObjectID getNewID()
DBReferenceID
getNewID
in interface DBReferenceID
DBReferenceID.resolveID()
@Deprecated public final java.lang.String[] getColumnNames()
ColumnConstraintReferenceID
getColumnNames
in interface ColumnConstraintReferenceID
protected boolean equalsImpl(DBObjectID id, boolean strict)
AbstractDBObjectID
AbstractDBObjectID.equalsImpl(AbstractDBObjectID)
when appropriate.equalsImpl
in class AbstractDBObjectID
protected boolean equalsImpl(ReferenceID 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.copyTo
in interface Copyable
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(ReferenceID target)
protected java.lang.String toStringImpl()
toStringImpl
in class BaseObjectID
public DBObject resolveID() throws DBException
DBObjectID
resolveID
in interface DBObjectID
resolveID
in interface DBReferenceID
resolveID
in class BaseObjectID
DBException
DBReferenceID.getNewID()
protected DBObject resolveInParentObject(DBObject parent) throws DBException
AbstractDBObjectID
resolveInParentObject
in class BaseObjectID
parent
- the object to look under for an object matching this ID.DBException
public void addChildObjectName(DBObjectID id)
public void addChildObjectName(DBObject obj)
public void addChildObjectName(java.lang.String name)
public ReferenceID.ReferenceInfo getReferenceInfo() throws DBException
DBException