public class ReferenceID extends BaseObjectID implements ColumnConstraintReferenceID
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.
|
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, resolveIDWithoutType, resolveIDWithoutType, resolveIDWithoutType, setDatabaseName, setName, setParent, setProvider, setProviderImpl, setSchema, setSchemaName, toString
canEquateWithNullParent, copyToImpl, 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()
public void addChildObjectName(DBObjectID id)
public void addChildObjectName(DBObject obj)
public void addChildObjectName(java.lang.String name)
protected DBObject resolveInParentObject(DBObject parent)
AbstractDBObjectID
resolveInParentObject
in class AbstractDBObjectID
parent
- the object to look under for an object matching this ID.