Oracle Fusion Middleware Java API Reference for Oracle Extension SDK Reference
11g Release 1 (11.1.1.4.0)

E13403-05

oracle.javatools.db
Class ReferenceID

java.lang.Object
  extended by oracle.javatools.db.AbstractDBObjectID
      extended by oracle.javatools.db.BaseObjectID
          extended by oracle.javatools.db.ReferenceID
All Implemented Interfaces:
ColumnConstraintReferenceID, DBObjectID, DBReferenceID, Copyable
Direct Known Subclasses:
NameBasedRefID

public class ReferenceID
extends BaseObjectID
implements ColumnConstraintReferenceID

ID implementation used for a reference property - i.e. a reference to an object that may not exist in a provider. The ID can potentially contain more metadata about the referenced object than just the name/type/schema so that reference properties can retain sufficient information about the referenced object so as to be able to still function.

Since:
11

Field Summary
 
Fields inherited from class oracle.javatools.db.BaseObjectID
SEP, UNSPECIFIED_TYPE
 
Constructor Summary
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.
 
Method Summary
 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.String getDatabaseName()
           
 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 setDatabaseName(java.lang.String linkName)
           
 void setIdentifier(java.lang.Object obj)
          Sets the identifier for the referenced object.
 void setSubType(java.lang.String subType)
           
protected  java.lang.String toStringImpl()
           
 
Methods inherited from class oracle.javatools.db.BaseObjectID
clearToString, copyToImpl, copyWithNewProvider, createFromString, equalsImpl, getName, getProvider, getSchemaName, hasSameObjectName, hasSameProvider, isRecognizedType, setName, setParent, setProvider, setProviderImpl, setSchema, setSchemaName, toString
 
Methods inherited from class oracle.javatools.db.AbstractDBObjectID
copyToImpl, equals, equals, equalsImpl, getParent, getType, hashCode, hasSameParent, resolveFromParent, setType
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface oracle.javatools.db.DBReferenceID
getName, getSchemaName
 
Methods inherited from interface oracle.javatools.db.DBObjectID
equals, getParent, getType
 

Constructor Detail

ReferenceID

public ReferenceID()
Creates an empty reference ID.


ReferenceID

public ReferenceID(DBObjectID id)
            throws DBException
Creates a ReferenceID to the object that the given id resolves to.

Parameters:
id - the id of the object to reference
Throws:
DBException

ReferenceID

public ReferenceID(DBObjectID id,
                   DBObjectProvider pro)
            throws DBException
Creates a ReferenceID to the object that the given id resolves to, but sets the new reference up with the given provider.

Parameters:
id - the id of the object to reference
pro - the provider the new ID will be used in
Throws:
DBException

ReferenceID

public 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).

Parameters:
obj - the object to reference

ReferenceID

public ReferenceID(DBObject obj,
                   DBObjectProvider pro)
Creates a ReferenceID to the give object, but sets the new reference up with the given provider.

Parameters:
obj - the object to reference
pro - the provider the new ID will be used in

ReferenceID

public 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.


ReferenceID

public 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

public 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

Parameters:
type - object type e.g. Table.TYPE
schema - schema the object is in
name - name of the object
dbName - 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.

ReferenceID

public 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. a column constraint including the constraint name information for an FK referenceID).

Method Detail

construct

public void construct(java.lang.String id)
INTERNAL USE ONLY Constructs the ID from the information in the string parameter. API users should use the createFromString method in BaseObjectID.

Specified by:
construct in class BaseObjectID
Parameters:
id - The ID in string form.

getChildObjectNames

public final java.lang.String[] getChildObjectNames()

setChildObjectNames

public final void setChildObjectNames(java.lang.String[] names)

getSubType

public final java.lang.String getSubType()
Description copied from interface: DBReferenceID
Retrieves the sub-type of object referenced by this id. For exmaple, the collection type for User Defined types, or the constraint type of Constraints.

Specified by:
getSubType in interface DBReferenceID
Returns:
the sub-type of object

setSubType

public final void setSubType(java.lang.String subType)

getDatabaseName

public final java.lang.String getDatabaseName()

setDatabaseName

public final void setDatabaseName(java.lang.String linkName)

getIdentifier

public final 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.


setIdentifier

public final void setIdentifier(java.lang.Object obj)
Sets the identifier for the referenced object.

See Also:
getIdentifier()

resolveReference

@Deprecated
public final DBObject resolveReference(Database db)
Deprecated. 

Use DBUtil.resolveInOtherProvider(oracle.javatools.db.BaseObjectID, oracle.javatools.db.DBObjectProvider)

Specified by:
resolveReference in interface DBReferenceID

getNewID

@Deprecated
public final DBObjectID getNewID()
Deprecated. 

Description copied from interface: DBReferenceID
This ID is used to reference an object in the database. If it is used by an object that is now in another provider then this method will return the ID of the object in that new provider.

Specified by:
getNewID in interface DBReferenceID
See Also:
DBReferenceID.resolveID()

getColumnNames

@Deprecated
public final java.lang.String[] getColumnNames()
Deprecated. 

Description copied from interface: ColumnConstraintReferenceID
Returns the list of names of Columns in the Referenced Primary/Unique Constraint.

Specified by:
getColumnNames in interface ColumnConstraintReferenceID

equalsImpl

protected boolean equalsImpl(DBObjectID id,
                             boolean strict)
Description copied from class: AbstractDBObjectID
Subclasses should implement as appropriate to their equals implementation, calling AbstractDBObjectID.equalsImpl(AbstractDBObjectID) when appropriate.

Specified by:
equalsImpl in class AbstractDBObjectID

equalsImpl

protected boolean equalsImpl(ReferenceID id)

copyTo

public java.lang.Object copyTo(java.lang.Object target)
Description copied from interface: Copyable
Copies the internal state of 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:


    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.

Specified by:
copyTo in interface Copyable
Parameters:
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.
Returns:
The object to which the state of 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.

copyToImpl

protected void copyToImpl(ReferenceID target)

toStringImpl

protected java.lang.String toStringImpl()
Specified by:
toStringImpl in class BaseObjectID

resolveID

public DBObject resolveID()
                   throws DBException
Description copied from interface: DBObjectID
Resolves the id into the object referenced.

Specified by:
resolveID in interface DBObjectID
Specified by:
resolveID in interface DBReferenceID
Overrides:
resolveID in class BaseObjectID
Returns:
the DBObject referenced by this DBObjectID
Throws:
DBException
See Also:
DBReferenceID.getNewID()

addChildObjectName

public void addChildObjectName(DBObjectID id)

addChildObjectName

public void addChildObjectName(DBObject obj)

addChildObjectName

public void addChildObjectName(java.lang.String name)

resolveInParentObject

protected DBObject resolveInParentObject(DBObject parent)
Description copied from class: AbstractDBObjectID
Used by resolvefromParent to find the object corresponding to this ID in the given parent object.

Overrides:
resolveInParentObject in class AbstractDBObjectID
Parameters:
parent - the object to look under for an object matching this ID.

Oracle Fusion Middleware Java API Reference for Oracle Extension SDK Reference
11g Release 1 (11.1.1.4.0)

E13403-05

Copyright © 1997, 2011, Oracle. All rights reserved.