public class DataTypeHelper
extends java.lang.Object
Constructor and Description |
---|
DataTypeHelper() |
Modifier and Type | Method and Description |
---|---|
static boolean |
canGetTypeStringFromID(DBObjectID id) |
static DBObjectID |
createReferenceIDForTypeString(DBObjectProvider provider, Schema defaultSchema, java.lang.String typeString)
Parses the given type string and turns it into a ReferenceID with a type of DataType.TYPE.
|
static DBObjectID |
findIDForTypeString(DBObjectProvider provider, Schema defaultSchema, java.lang.String typeString)
From a String representing a datatype of some sort, find an ID for that type in the given provider, or return null.
|
static DBObjectID |
findOrCreateIDForTypeString(DBObjectProvider provider, Schema defaultSchema, java.lang.String typeString)
From a String representing a datatype of some sort, find or create an ID for that type in the given provider.
|
static java.lang.Object |
getAttributeValue(java.lang.Object value, DataType dataType, java.lang.String attributeName)
Returns an attribute value as an object of the type of the attribute.
|
static DataType |
getDataType(DataTypeUsage usage)
Returns the DataType that usage is an instance of, or null if usage is null
|
static PlSqlReference |
getDataTypeRefForString(DBObjectProvider provider, Schema defaultSchema, java.lang.String usageString) |
static DataTypeUsage |
getDataTypeUsage(DBObjectProvider provider, Schema defaultSchema, java.lang.String typeName, int size, int precision, int scale)
Gets a DataTypeUsage that matches the given data returned from the JDBC metadata for a Column.
|
static DataTypeUsage |
getDataTypeUsageForString(DBObjectProvider provider, Schema defaultSchema, java.lang.String usageString)
|
static DataTypeUsage |
getDataTypeUsageForString(DBObjectProvider provider, Schema defaultSchema, java.lang.String usageString, boolean strict)
Returns a
DataTypeUsage for the given string. |
static java.lang.String |
getDDL(DataTypeUsage dtu)
Deprecated.
replaced by
getDDL(DataTypeUsage,DBObjectProvider) |
static java.lang.String |
getDDL(DataTypeUsage dtu, DBObjectProvider pro)
Gets the DDL for the given DataTypeUsage.
|
static java.lang.Long |
getLongAttributeValue(DataTypeUsage usage, java.lang.String name)
Returns the value of the given named attribute from the given DataTypeUsage as a Long.
|
static java.lang.String |
getNameFromLabel(int resourceLabelID)
Deprecated.
|
static java.lang.String |
getNameFromLabel(java.lang.String resourceLabel) |
static java.lang.String |
getStringAttributeDefaultValue(DataTypeUsage usage, java.lang.String attributeName)
Returns the default value of the given named attribute from the given DataTypeUsage as a String.
|
static java.lang.String |
getStringAttributeValue(DataTypeUsage usage, java.lang.String name)
Returns the value of the given named attribute from the given DataTypeUsage as a String.
|
static java.lang.String |
getTypeDDL(DataTypeUsage dataTypeUsage, java.lang.String typeString)
Gets the DDL for a DataTypeUsage that is using a Type.
|
static java.lang.String |
getTypeStringFromID(DBObjectID typeID, Schema defaultSchema)
Deprecated.
|
static java.lang.String |
getTypeStringFromID(DBObjectID typeID, Schema defaultSchema, DBObjectProvider pro)
Returns a fully qualified String representation of the type with the given ID, omitting the schema name if it is the same as the default schema
|
static java.lang.String |
getTypeStringFromRef(PlSqlReference ref, Schema defaultSchema)
Return a fully qualified String representation of the type with the given ID, omitting the schema name if it is the same as the default schema
|
static boolean |
isXMLType(DataType type)
Checks whether the given Type is the expected type for an Oracle XMLTYPE column.
|
static DBObject |
resolveDataTypeReferenceID(ReferenceID id)
If a ReferenceID has a type of DataType.TYPE then it must have been created by
createReferenceIDForTypeString(oracle.javatools.db.DBObjectProvider, oracle.javatools.db.Schema, java.lang.String) because DataType is not a valid SystemObject type. |
static java.lang.Long |
toLong(java.lang.Object usageValue)
Returns usageValue as a Long, or null if usageValue is null or usageValue can't be converted to a number.
|
static java.lang.Long |
toLongOrError(java.lang.Object usageValue)
Returns usageValue as a Long, or null if usageValue is null or usageValue can't be converted to a number.
|
static java.lang.String |
toString(java.lang.Object usageValue)
Returns usageValue as a String, or null if usageValue is null.
|
public static DataType getDataType(DataTypeUsage usage) throws DBException
usage
- the usage to unwrapDBException
- if the usage's DBObjectID doesn't resolve to a valid DataTypepublic static DBObject resolveDataTypeReferenceID(ReferenceID id) throws DBException
createReferenceIDForTypeString(oracle.javatools.db.DBObjectProvider, oracle.javatools.db.Schema, java.lang.String)
because DataType is not a valid SystemObject type. This method takes the information from such a ReferenceID and attempts to resolve it to return a Type or Synonym.the
- id referencing a datatype to resolve.DBException
- if the type information is incomplete or there is an error querying the underlying DBObjectProvider.public static java.lang.Long getLongAttributeValue(DataTypeUsage usage, java.lang.String name)
public static java.lang.String getStringAttributeValue(DataTypeUsage usage, java.lang.String name)
public static java.lang.String getStringAttributeDefaultValue(DataTypeUsage usage, java.lang.String attributeName)
public static java.lang.Long toLong(java.lang.Object usageValue)
public static java.lang.Long toLongOrError(java.lang.Object usageValue) throws java.lang.NumberFormatException
java.lang.NumberFormatException
public static java.lang.String toString(java.lang.Object usageValue)
@Deprecated public static java.lang.String getNameFromLabel(int resourceLabelID)
public static java.lang.String getNameFromLabel(java.lang.String resourceLabel)
public static java.lang.Object getAttributeValue(java.lang.Object value, DataType dataType, java.lang.String attributeName)
value
- : value to be converteddataType
- : data type of valueattributeName
- : name of the attribute@Deprecated public static java.lang.String getDDL(DataTypeUsage dtu)
getDDL(DataTypeUsage,DBObjectProvider)
public static java.lang.String getDDL(DataTypeUsage dtu, DBObjectProvider pro)
dtu
- the datatype usagepro
- the containing providerpublic static boolean canGetTypeStringFromID(DBObjectID id)
@Deprecated public static java.lang.String getTypeStringFromID(DBObjectID typeID, Schema defaultSchema)
getTypeStringFromID(DBObjectID,Schema,DBObjectProvider)
public static java.lang.String getTypeStringFromID(DBObjectID typeID, Schema defaultSchema, DBObjectProvider pro)
typeID
- the id to get a fully qualified representation ofdefaultSchema
- the default schema that can be omitted from the qualificationpro
- the containing providerpublic static java.lang.String getTypeDDL(DataTypeUsage dataTypeUsage, java.lang.String typeString)
dataTypeUsage
- the DataTypeUsage that is using a Type.typeString
- the qualified, external name of the Type being used.public static java.lang.String getTypeStringFromRef(PlSqlReference ref, Schema defaultSchema)
ref
-defaultSchema
-public static PlSqlReference getDataTypeRefForString(DBObjectProvider provider, Schema defaultSchema, java.lang.String usageString)
public static DBObjectID findOrCreateIDForTypeString(DBObjectProvider provider, Schema defaultSchema, java.lang.String typeString)
typeString
-provider
-defaultSchema
-public static DBObjectID createReferenceIDForTypeString(DBObjectProvider provider, Schema defaultSchema, java.lang.String typeString)
provider
- the containing providerdefaultSchema
- the default schema for the type resolutiontypeString
- the string (e.g. MYSCHEMA.ARRAY_TYPE)public static DBObjectID findIDForTypeString(DBObjectProvider provider, Schema defaultSchema, java.lang.String typeString)
typeString
-provider
-defaultSchema
-public static DataTypeUsage getDataTypeUsage(DBObjectProvider provider, Schema defaultSchema, java.lang.String typeName, int size, int precision, int scale)
provider
- the DBObjectProvider we're working indefaultSchema
- the current schematypeName
- the name of the data type to look forsize
- the size value for the usage of the typeprecision
- the precision value for the usage of the typescale
- the scale value for the usage of the typepublic static DataTypeUsage getDataTypeUsageForString(DBObjectProvider provider, Schema defaultSchema, java.lang.String usageString)
public static DataTypeUsage getDataTypeUsageForString(DBObjectProvider provider, Schema defaultSchema, java.lang.String usageString, boolean strict)
DataTypeUsage
for the given string. If strict == true and no underlying DataType can be found, then null is returned. If strict == false (or is omitted) and an underlying DataType cannot be found, an ObjectTypeUsage with a ReferenceID for the DataType will be returned.provider
-defaultSchema
-usageString
-strict
-public static boolean isXMLType(DataType type)
type
- the type to test