public final class DataTypeID extends java.lang.Object implements DBObjectID
DBObjectProvider
, or if working without a provider use a
DatabaseDescriptor
from the
DatabaseRegistry
.
DBObjectID implementation for DataTypes that belong to a provider (built-in types). The object is a bean that stores the name of the type and the owning DatabaseDescriptor which is ultimately used to resolve the id to get the data type.
UNSPECIFIED_TYPE
Constructor and Description |
---|
DataTypeID()
INTERNAL USE ONLY.
|
DataTypeID(java.lang.String typeName,
DatabaseDescriptor desc)
Creates an id for a simple type
|
DataTypeID(java.lang.String typeName,
java.lang.String schemaName,
DatabaseDescriptor desc)
Creates an id for a complex type
|
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
copyTo(java.lang.Object target)
Copies the internal state of
this object to the
specified copy . |
protected void |
copyToImpl(DataTypeID target) |
static DataTypeID |
createFromString(java.lang.String idString)
Creates a DataTypeID from the given String.
|
void |
ensureProvider(DBObjectProvider pro)
Checks that this DataTypeID will resolve to the correct type definition
for the given provider.
|
boolean |
equals(DBObjectID id) |
boolean |
equals(DBObjectID id,
boolean strict)
Whether the specified id is equivalent to this id.
|
boolean |
equals(java.lang.Object obj) |
protected boolean |
equalsImpl(DataTypeID id) |
DatabaseDescriptor |
getDatabaseDescriptor()
Gets the Databasedescriptor for the type and version of database that
the underlying data type is defined for.
|
DBObjectID |
getParent()
Retrieves the parent for this id if it has one.
|
java.lang.Class |
getProviderClass()
Deprecated.
|
java.lang.String |
getSchemaName()
Gets the schema name for the referenced type.
|
java.lang.String |
getType()
Retrieves the type of object referenced by this id.
|
java.lang.String |
getTypeName()
Gets the name of the referenced data type.
|
int |
hashCode() |
static boolean |
isIDType(java.lang.String idString)
Tests whether the given String is a valid DataTypeID string (i.e.
|
DBObject |
resolveID()
Resolves the id into the object referenced.
|
void |
setProviderClass(java.lang.Class clz)
Deprecated.
|
void |
setSchemaName(java.lang.String schemaName)
Sets the schema name for the referenced data type.
|
void |
setTypeName(java.lang.String name)
Sets the name of the referenced data type.
|
java.lang.String |
toString() |
public DataTypeID()
public DataTypeID(java.lang.String typeName, DatabaseDescriptor desc)
public DataTypeID(java.lang.String typeName, java.lang.String schemaName, DatabaseDescriptor desc)
public java.lang.String getTypeName()
public void setTypeName(java.lang.String name)
name
- the data type name.public DatabaseDescriptor getDatabaseDescriptor()
This is set on construction, but also be checked by using
ensureProvider(oracle.javatools.db.DBObjectProvider)
.
@Deprecated public java.lang.Class getProviderClass()
@Deprecated public void setProviderClass(java.lang.Class clz)
public java.lang.String getSchemaName()
public void setSchemaName(java.lang.String schemaName)
schemaName
- the type schema namepublic boolean equals(DBObjectID id)
public boolean equals(DBObjectID id, boolean strict)
DBObjectID
equals
in interface DBObjectID
id
- the DBObjectID being checked for equalitystrict
- whether a strict definition of equality should be used.protected boolean equalsImpl(DataTypeID 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(DataTypeID target)
public java.lang.String getType()
DBObjectID
getType
in interface DBObjectID
DBObject.getType()
public DBObject resolveID() throws DBException
DBObjectID
resolveID
in interface DBObjectID
DBException
public void ensureProvider(DBObjectProvider pro)
public DBObjectID getParent()
DBObjectID
getParent
in interface DBObjectID
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
public static final boolean isIDType(java.lang.String idString)
toString()
on a valid DataTypeID.createFromString(java.lang.String)
will work with the given
String.public static DataTypeID createFromString(java.lang.String idString)
toString()
on a valid DataTypeID.
The returned ID will not resolve until ensureProvider(oracle.javatools.db.DBObjectProvider)
has been
called.
idString
- the string to parse