/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.core.types; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import org.teiid.core.designer.TeiidDesignerRuntimeException; import org.teiid.core.designer.id.InvalidIDException; import org.teiid.core.designer.id.UUID; import org.teiid.designer.metadata.runtime.RuntimeMetadataPlugin; /** * DatatypeConstants * * @since 8.0 */ public class DatatypeConstants { /** Defines the expected built-in datatypes model URI - must be consistent with the value found in the org.teiid.designer.sdt plugin.xml */ public static final String BUILTIN_DATATYPES_URI = "http://www.metamatrix.com/metamodels/SimpleDatatypes-instance"; //$NON-NLS-1$ /** The value <code>"http://www.metamatrix.com/2005/XmlSchema/EnterpriseDatatypes"</code>. */ public static final String SCHEMA_FOR_ENTERPRISE_DATATYPES_URI_2005 = "http://www.metamatrix.com/2005/XmlSchema/EnterpriseDatatypes"; //$NON-NLS-1$ /** The value <code>"http://www.metamatrix.com/2005/XmlSchema/EnterpriseDatatypes"</code>. */ public static final String PREFIX_FOR_ENTERPRISE_DATATYPES_URI_2005 = "mmedt"; //$NON-NLS-1$ /** Defines the expected name of the built-in datatype archive file */ public static final String DATATYPES_ZIP_FILE_NAME = "builtInDatatypes.zip"; //$NON-NLS-1$ /** Defines the expected name of the built-in datatype index file */ public static final String DATATYPES_INDEX_FILE_NAME = "builtInDataTypes.INDEX"; //$NON-NLS-1$ /** Defines the expected name of the built-in datatype model file */ public static final String DATATYPES_MODEL_FILE_NAME = "builtInDataTypes.xsd"; //$NON-NLS-1$ /** Defines the expected name of the built-in datatype model file */ public static final String DATATYPES_MODEL_FILE_NAME_WITHOUT_EXTENSION = "builtInDataTypes"; //$NON-NLS-1$ /** Delimiter used to separate the URI string from the URI fragment */ public static final String URI_REFERENCE_DELIMITER = "#"; //$NON-NLS-1$ /** UUID of the built-in datatype model */ public static UUID BUILTIN_DATATYPES_MODEL_UUID = null; public static final String PROTOCOL = "mmuuid"; //$NON-NLS-1$ /** * UUIDs of the XMLSchema.xsd, MagicXMLSchema.xsd, and xml.xsd <code>http://www.w3.org/1999/XMLSchema"</code>. */ public static UUID XML_SCHEMA_UUID_1999 = null; public static UUID XML_MAGIC_SCHEMA_UUID_1999 = null; public static UUID XML_SCHEMA_INSTANCE_UUID_1999 = null; /** * UUIDs of the XMLSchema.xsd, MagicXMLSchema.xsd, and xml.xsd <code>"http://www.w3.org/2000/10/XMLSchema"</code> schema. */ public static UUID XML_SCHEMA_UUID_2000_10 = null; public static UUID XML_MAGIC_SCHEMA_UUID_2000_10 = null; public static UUID XML_SCHEMA_INSTANCE_UUID_2000_10 = null; /** * UUIDs of the XMLSchema.xsd, MagicXMLSchema.xsd, and XMLSchema-instance.xsd <code>"http://www.w3.org/2001/XMLSchema"</code> schema. */ public static UUID XML_SCHEMA_UUID_2001 = null; public static UUID XML_MAGIC_SCHEMA_UUID_2001 = null; public static UUID XML_SCHEMA_INSTANCE_UUID_2001 = null; // Conversion map between the runtime datatype names that appear in older // model files and the name of the new built-in data type to be used private static final Map RUNTIME_TO_BUILTIN_MAP = new HashMap(); // List of runtime type names private static final List RUNTIME_TYPE_NAMES = new ArrayList(); // List of built-in datatype names private static final List BUILTIN_TYPE_NAMES = new ArrayList(); // List of built-in datatype names private static final List METAMATRIX_EXTENDED_BUILTIN_TYPE_NAMES = new ArrayList(); // List of primitive built-in datatype names private static final List PRIMITIVE_BUILTIN_TYPE_NAMES = new ArrayList(); static { loadRuntimeTypeToBuildInConversionMap(); loadRuntimeTypeNames(); loadBuiltInTypeNames(); loadMetaMatrixExtentedBuiltInTypeNames(); loadPrimitiveBuiltInTypeNames(); Collections.sort(RUNTIME_TYPE_NAMES,String.CASE_INSENSITIVE_ORDER); try { BUILTIN_DATATYPES_MODEL_UUID = DatatypeConstants.stringToObject("6b862080-3019-1e20-921b-eeee28353879"); //$NON-NLS-1$ } catch (InvalidIDException e) { throw new TeiidDesignerRuntimeException(e); } try { XML_SCHEMA_UUID_1999 = DatatypeConstants.stringToObject("1da96d2e-fc8c-1f0b-aa25-a4ec5e156765"); //$NON-NLS-1$ XML_MAGIC_SCHEMA_UUID_1999 = DatatypeConstants.stringToObject("2343c130-fc8c-1f0b-aa25-a4ec5e156765"); //$NON-NLS-1$ XML_SCHEMA_INSTANCE_UUID_1999 = DatatypeConstants.stringToObject("26f5d0c4-fc8c-1f0b-aa25-a4ec5e156765"); //$NON-NLS-1$ XML_SCHEMA_UUID_2000_10 = DatatypeConstants.stringToObject("60624ce0-fc7a-1f0b-a813-96dd78086d7a"); //$NON-NLS-1$ XML_MAGIC_SCHEMA_UUID_2000_10 = DatatypeConstants.stringToObject("624a93b9-fc7a-1f0b-a813-96dd78086d7a"); //$NON-NLS-1$ XML_SCHEMA_INSTANCE_UUID_2000_10 = DatatypeConstants.stringToObject("632f7658-fc7a-1f0b-a813-96dd78086d7a"); //$NON-NLS-1$ XML_SCHEMA_UUID_2001 = DatatypeConstants.stringToObject("b017498c-fc82-1f0b-9301-8cc12cf53072"); //$NON-NLS-1$ XML_MAGIC_SCHEMA_UUID_2001 = DatatypeConstants.stringToObject("a8a3ee88-fc82-1f0b-9301-8cc12cf53072"); //$NON-NLS-1$ XML_SCHEMA_INSTANCE_UUID_2001 = DatatypeConstants.stringToObject("ac653e49-fc82-1f0b-9301-8cc12cf53072"); //$NON-NLS-1$ } catch (InvalidIDException e) { throw new TeiidDesignerRuntimeException(e); } } /** * The names of only MetaMatrix built-in types. These types represent * MetaMatrix extensions to the XML Schema of schema built-in types */ public static final class MetaMatrixExtendedBuiltInNames { public static final String CHAR = "char";//$NON-NLS-1$ public static final String BIG_INTEGER = "biginteger";//$NON-NLS-1$ public static final String BIG_DECIMAL = "bigdecimal";//$NON-NLS-1$ public static final String TIMESTAMP = "timestamp";//$NON-NLS-1$ public static final String OBJECT = "object";//$NON-NLS-1$ public static final String NULL = "null";//$NON-NLS-1$ public static final String BLOB = "blob";//$NON-NLS-1$ public static final String CLOB = "clob";//$NON-NLS-1$ public static final String XML_LITERAL = "XMLLiteral";//$NON-NLS-1$ } /** * The names of the primitive built-in datatypes (19 entries). A primitive built-in type * is one in which its basetype is the UR-type of "anySimpleType" */ public static final class PrimitiveBuiltInNames { public static final String STRING = "string"; //$NON-NLS-1$ public static final String BOOLEAN = "boolean";//$NON-NLS-1$ public static final String FLOAT = "float";//$NON-NLS-1$ public static final String DOUBLE = "double";//$NON-NLS-1$ public static final String DATE = "date";//$NON-NLS-1$ public static final String TIME = "time";//$NON-NLS-1$ public static final String NOTATION = "NOTATION";//$NON-NLS-1$ public static final String QNAME = "QName";//$NON-NLS-1$ public static final String ANY_URI = "anyURI";//$NON-NLS-1$ public static final String BASE64_BINARY = "base64Binary";//$NON-NLS-1$ public static final String DATE_TIME = "dateTime";//$NON-NLS-1$ public static final String DECIMAL = "decimal";//$NON-NLS-1$ public static final String DURATION = "duration";//$NON-NLS-1$ public static final String GDAY = "gDay";//$NON-NLS-1$ public static final String GMONTH_DAY = "gMonthDay";//$NON-NLS-1$ public static final String GMONTH = "gMonth";//$NON-NLS-1$ public static final String GYEAR_MONTH = "gYearMonth";//$NON-NLS-1$ public static final String GYEAR = "gYear";//$NON-NLS-1$ public static final String HEX_BINARY = "hexBinary";//$NON-NLS-1$ } /** * The names of the built-in datatypes (54 entries) which includes both the * XML Schema of schema built-in types and the MetaMatrix built-in types */ public static final class BuiltInNames { // XML Schema of schema built-in types public static final String STRING = "string"; //$NON-NLS-1$ public static final String BOOLEAN = "boolean";//$NON-NLS-1$ public static final String BYTE = "byte";//$NON-NLS-1$ public static final String SHORT = "short";//$NON-NLS-1$ public static final String INTEGER = "integer";//$NON-NLS-1$ public static final String LONG = "long";//$NON-NLS-1$ public static final String FLOAT = "float";//$NON-NLS-1$ public static final String DOUBLE = "double";//$NON-NLS-1$ public static final String DATE = "date";//$NON-NLS-1$ public static final String TIME = "time";//$NON-NLS-1$ public static final String ENTITIES = "ENTITIES";//$NON-NLS-1$ public static final String ENTITY = "ENTITY";//$NON-NLS-1$ public static final String IDREFS = "IDREFS";//$NON-NLS-1$ public static final String IDREF = "IDREF";//$NON-NLS-1$ public static final String ID = "ID";//$NON-NLS-1$ public static final String NCNAME = "NCName";//$NON-NLS-1$ public static final String NMTOKENS = "NMTOKENS";//$NON-NLS-1$ public static final String NMTOKEN = "NMTOKEN";//$NON-NLS-1$ public static final String NOTATION = "NOTATION";//$NON-NLS-1$ public static final String NAME = "Name";//$NON-NLS-1$ public static final String QNAME = "QName";//$NON-NLS-1$ public static final String ANY_TYPE = "anyType";//$NON-NLS-1$ public static final String ANY_SIMPLE_TYPE = "anySimpleType";//$NON-NLS-1$ public static final String ANY_URI = "anyURI";//$NON-NLS-1$ public static final String BASE64_BINARY = "base64Binary";//$NON-NLS-1$ public static final String DATE_TIME = "dateTime";//$NON-NLS-1$ public static final String DECIMAL = "decimal";//$NON-NLS-1$ public static final String DURATION = "duration";//$NON-NLS-1$ public static final String GDAY = "gDay";//$NON-NLS-1$ public static final String GMONTH_DAY = "gMonthDay";//$NON-NLS-1$ public static final String GMONTH = "gMonth";//$NON-NLS-1$ public static final String GYEAR_MONTH = "gYearMonth";//$NON-NLS-1$ public static final String GYEAR = "gYear";//$NON-NLS-1$ public static final String HEX_BINARY = "hexBinary";//$NON-NLS-1$ public static final String INT = "int";//$NON-NLS-1$ public static final String LANGUAGE = "language";//$NON-NLS-1$ public static final String NEGATIVE_INTEGER = "negativeInteger";//$NON-NLS-1$ public static final String NON_NEGATIVE_INTEGER = "nonNegativeInteger";//$NON-NLS-1$ public static final String NON_POSITIVE_INTEGER = "nonPositiveInteger";//$NON-NLS-1$ public static final String NORMALIZED_STRING = "normalizedString";//$NON-NLS-1$ public static final String POSITIVE_INTEGER = "positiveInteger";//$NON-NLS-1$ public static final String TOKEN = "token";//$NON-NLS-1$ public static final String UNSIGNED_BYTE = "unsignedByte";//$NON-NLS-1$ public static final String UNSIGNED_INT = "unsignedInt";//$NON-NLS-1$ public static final String UNSIGNED_LONG = "unsignedLong";//$NON-NLS-1$ public static final String UNSIGNED_SHORT = "unsignedShort";//$NON-NLS-1$ public static final String GEOMETRY = "geometry"; // MetaMatrix extensions to the XML Schema of schema built-in types public static final String CHAR = MetaMatrixExtendedBuiltInNames.CHAR; public static final String BIG_INTEGER = MetaMatrixExtendedBuiltInNames.BIG_INTEGER; public static final String BIG_DECIMAL = MetaMatrixExtendedBuiltInNames.BIG_DECIMAL; public static final String TIMESTAMP = MetaMatrixExtendedBuiltInNames.TIMESTAMP; public static final String OBJECT = MetaMatrixExtendedBuiltInNames.OBJECT; public static final String NULL = MetaMatrixExtendedBuiltInNames.NULL; public static final String BLOB = MetaMatrixExtendedBuiltInNames.BLOB; public static final String CLOB = MetaMatrixExtendedBuiltInNames.CLOB; public static final String XML_LITERAL = MetaMatrixExtendedBuiltInNames.XML_LITERAL; } // all the runtime datatypes public static final class RuntimeTypeNames { public static final String STRING = "string"; //$NON-NLS-1$ public static final String BOOLEAN = "boolean"; //$NON-NLS-1$ public static final String BYTE = "byte"; //$NON-NLS-1$ public static final String SHORT = "short"; //$NON-NLS-1$ public static final String CHAR = "char"; //$NON-NLS-1$ public static final String INTEGER = "integer"; //$NON-NLS-1$ public static final String LONG = "long"; //$NON-NLS-1$ public static final String BIG_INTEGER = "biginteger"; //$NON-NLS-1$ public static final String FLOAT = "float"; //$NON-NLS-1$ public static final String DOUBLE = "double"; //$NON-NLS-1$ public static final String BIG_DECIMAL = "bigdecimal"; //$NON-NLS-1$ public static final String DATE = "date"; //$NON-NLS-1$ public static final String TIME = "time"; //$NON-NLS-1$ public static final String TIMESTAMP = "timestamp"; //$NON-NLS-1$ public static final String OBJECT = "object"; //$NON-NLS-1$ public static final String NULL = "null"; //$NON-NLS-1$ public static final String BLOB = "blob"; //$NON-NLS-1$ public static final String CLOB = "clob"; //$NON-NLS-1$ public static final String XML = "xml"; //$NON-NLS-1$ public static final String GEOMETRY = "geometry"; //$NON-NLS-1$ } // ================================================================================== // P U B L I C M E T H O D S // ================================================================================== /** * Return the name of the default datatype given the runtime type. * @param runtimeTypeName the name of the runtime type * @return the name of the default datatype */ public static String getDatatypeNamefromRuntimeType(final String runtimeTypeName) { return (String) RUNTIME_TO_BUILTIN_MAP.get(runtimeTypeName); } /** * Return the collection of runtime type names * @return Collection */ public static Collection getRuntimeTypeNames() { return Collections.unmodifiableCollection(RUNTIME_TYPE_NAMES); } /** * Return the collection of built-in datatype names * @return Collection */ public static Collection getBuiltInTypeNames() { return Collections.unmodifiableCollection(BUILTIN_TYPE_NAMES); } /** * Return the collection of the primitive built-in datatype names. A primitive built-in type * is one in which its basetype is the UR-type of "anySimpleType" * @return Collection */ public static Collection getPrimitivedBuiltInTypeNames() { return Collections.unmodifiableCollection(PRIMITIVE_BUILTIN_TYPE_NAMES); } /** * Return the collection of MetaMatrix extended built-in datatype names. * These represent MetaMatrix extensions to the XML Schema of schema built-in types * to add the datatypes of "char", "biginteger", "bigdecimal", "timestamp", * "object", "null", "blob", "clob" and "XMLLiteral". * @return Collection */ public static Collection getMetaMatrixExtendedBuiltInTypeNames() { return Collections.unmodifiableCollection(METAMATRIX_EXTENDED_BUILTIN_TYPE_NAMES); } // ================================================================================== // P R I V A T E M E T H O D S // ================================================================================== private static void loadRuntimeTypeToBuildInConversionMap() { RUNTIME_TO_BUILTIN_MAP.put(RuntimeTypeNames.STRING, BuiltInNames.STRING); RUNTIME_TO_BUILTIN_MAP.put(RuntimeTypeNames.BOOLEAN, BuiltInNames.BOOLEAN); RUNTIME_TO_BUILTIN_MAP.put(RuntimeTypeNames.BYTE, BuiltInNames.BYTE); RUNTIME_TO_BUILTIN_MAP.put(RuntimeTypeNames.SHORT, BuiltInNames.SHORT); RUNTIME_TO_BUILTIN_MAP.put(RuntimeTypeNames.CHAR, BuiltInNames.CHAR); RUNTIME_TO_BUILTIN_MAP.put(RuntimeTypeNames.INTEGER, BuiltInNames.INT); RUNTIME_TO_BUILTIN_MAP.put(RuntimeTypeNames.LONG, BuiltInNames.LONG); RUNTIME_TO_BUILTIN_MAP.put(RuntimeTypeNames.BIG_INTEGER, BuiltInNames.BIG_INTEGER); RUNTIME_TO_BUILTIN_MAP.put(RuntimeTypeNames.FLOAT, BuiltInNames.FLOAT); RUNTIME_TO_BUILTIN_MAP.put(RuntimeTypeNames.DOUBLE, BuiltInNames.DOUBLE); RUNTIME_TO_BUILTIN_MAP.put(RuntimeTypeNames.BIG_DECIMAL, BuiltInNames.BIG_DECIMAL); RUNTIME_TO_BUILTIN_MAP.put(RuntimeTypeNames.DATE, BuiltInNames.DATE); RUNTIME_TO_BUILTIN_MAP.put(RuntimeTypeNames.TIME, BuiltInNames.TIME); RUNTIME_TO_BUILTIN_MAP.put(RuntimeTypeNames.TIMESTAMP, BuiltInNames.TIMESTAMP); RUNTIME_TO_BUILTIN_MAP.put(RuntimeTypeNames.OBJECT, BuiltInNames.OBJECT); RUNTIME_TO_BUILTIN_MAP.put(RuntimeTypeNames.BLOB, BuiltInNames.BLOB); RUNTIME_TO_BUILTIN_MAP.put(RuntimeTypeNames.CLOB, BuiltInNames.CLOB); RUNTIME_TO_BUILTIN_MAP.put(RuntimeTypeNames.XML, BuiltInNames.XML_LITERAL); RUNTIME_TO_BUILTIN_MAP.put(RuntimeTypeNames.GEOMETRY, BuiltInNames.GEOMETRY); } private static void loadRuntimeTypeNames() { RUNTIME_TYPE_NAMES.add(RuntimeTypeNames.STRING); RUNTIME_TYPE_NAMES.add(RuntimeTypeNames.BOOLEAN); RUNTIME_TYPE_NAMES.add(RuntimeTypeNames.BYTE); RUNTIME_TYPE_NAMES.add(RuntimeTypeNames.SHORT); RUNTIME_TYPE_NAMES.add(RuntimeTypeNames.CHAR); RUNTIME_TYPE_NAMES.add(RuntimeTypeNames.INTEGER); RUNTIME_TYPE_NAMES.add(RuntimeTypeNames.LONG); RUNTIME_TYPE_NAMES.add(RuntimeTypeNames.BIG_INTEGER); RUNTIME_TYPE_NAMES.add(RuntimeTypeNames.FLOAT); RUNTIME_TYPE_NAMES.add(RuntimeTypeNames.DOUBLE); RUNTIME_TYPE_NAMES.add(RuntimeTypeNames.BIG_DECIMAL); RUNTIME_TYPE_NAMES.add(RuntimeTypeNames.DATE); RUNTIME_TYPE_NAMES.add(RuntimeTypeNames.TIME); RUNTIME_TYPE_NAMES.add(RuntimeTypeNames.TIMESTAMP); RUNTIME_TYPE_NAMES.add(RuntimeTypeNames.OBJECT); RUNTIME_TYPE_NAMES.add(RuntimeTypeNames.BLOB); RUNTIME_TYPE_NAMES.add(RuntimeTypeNames.CLOB); RUNTIME_TYPE_NAMES.add(RuntimeTypeNames.XML); RUNTIME_TYPE_NAMES.add(RuntimeTypeNames.GEOMETRY); } private static void loadMetaMatrixExtentedBuiltInTypeNames() { METAMATRIX_EXTENDED_BUILTIN_TYPE_NAMES.add(MetaMatrixExtendedBuiltInNames.CHAR); METAMATRIX_EXTENDED_BUILTIN_TYPE_NAMES.add(MetaMatrixExtendedBuiltInNames.BIG_INTEGER); METAMATRIX_EXTENDED_BUILTIN_TYPE_NAMES.add(MetaMatrixExtendedBuiltInNames.BIG_DECIMAL); METAMATRIX_EXTENDED_BUILTIN_TYPE_NAMES.add(MetaMatrixExtendedBuiltInNames.TIMESTAMP); METAMATRIX_EXTENDED_BUILTIN_TYPE_NAMES.add(MetaMatrixExtendedBuiltInNames.OBJECT); METAMATRIX_EXTENDED_BUILTIN_TYPE_NAMES.add(MetaMatrixExtendedBuiltInNames.NULL); METAMATRIX_EXTENDED_BUILTIN_TYPE_NAMES.add(MetaMatrixExtendedBuiltInNames.BLOB); METAMATRIX_EXTENDED_BUILTIN_TYPE_NAMES.add(MetaMatrixExtendedBuiltInNames.CLOB); METAMATRIX_EXTENDED_BUILTIN_TYPE_NAMES.add(MetaMatrixExtendedBuiltInNames.XML_LITERAL); } private static void loadPrimitiveBuiltInTypeNames() { PRIMITIVE_BUILTIN_TYPE_NAMES.add(PrimitiveBuiltInNames.STRING); PRIMITIVE_BUILTIN_TYPE_NAMES.add(PrimitiveBuiltInNames.BOOLEAN); PRIMITIVE_BUILTIN_TYPE_NAMES.add(PrimitiveBuiltInNames.FLOAT); PRIMITIVE_BUILTIN_TYPE_NAMES.add(PrimitiveBuiltInNames.DOUBLE); PRIMITIVE_BUILTIN_TYPE_NAMES.add(PrimitiveBuiltInNames.DATE); PRIMITIVE_BUILTIN_TYPE_NAMES.add(PrimitiveBuiltInNames.TIME); PRIMITIVE_BUILTIN_TYPE_NAMES.add(PrimitiveBuiltInNames.NOTATION); PRIMITIVE_BUILTIN_TYPE_NAMES.add(PrimitiveBuiltInNames.QNAME); PRIMITIVE_BUILTIN_TYPE_NAMES.add(PrimitiveBuiltInNames.ANY_URI); PRIMITIVE_BUILTIN_TYPE_NAMES.add(PrimitiveBuiltInNames.BASE64_BINARY); PRIMITIVE_BUILTIN_TYPE_NAMES.add(PrimitiveBuiltInNames.DATE_TIME); PRIMITIVE_BUILTIN_TYPE_NAMES.add(PrimitiveBuiltInNames.DECIMAL); PRIMITIVE_BUILTIN_TYPE_NAMES.add(PrimitiveBuiltInNames.DURATION); PRIMITIVE_BUILTIN_TYPE_NAMES.add(PrimitiveBuiltInNames.GDAY); PRIMITIVE_BUILTIN_TYPE_NAMES.add(PrimitiveBuiltInNames.GMONTH_DAY); PRIMITIVE_BUILTIN_TYPE_NAMES.add(PrimitiveBuiltInNames.GMONTH); PRIMITIVE_BUILTIN_TYPE_NAMES.add(PrimitiveBuiltInNames.GYEAR_MONTH); PRIMITIVE_BUILTIN_TYPE_NAMES.add(PrimitiveBuiltInNames.GYEAR); PRIMITIVE_BUILTIN_TYPE_NAMES.add(PrimitiveBuiltInNames.HEX_BINARY); } private static void loadBuiltInTypeNames() { BUILTIN_TYPE_NAMES.add(BuiltInNames.STRING); BUILTIN_TYPE_NAMES.add(BuiltInNames.BOOLEAN); BUILTIN_TYPE_NAMES.add(BuiltInNames.BYTE); BUILTIN_TYPE_NAMES.add(BuiltInNames.SHORT); BUILTIN_TYPE_NAMES.add(BuiltInNames.CHAR); BUILTIN_TYPE_NAMES.add(BuiltInNames.INT); BUILTIN_TYPE_NAMES.add(BuiltInNames.LONG); BUILTIN_TYPE_NAMES.add(BuiltInNames.BIG_INTEGER); BUILTIN_TYPE_NAMES.add(BuiltInNames.FLOAT); BUILTIN_TYPE_NAMES.add(BuiltInNames.DOUBLE); BUILTIN_TYPE_NAMES.add(BuiltInNames.BIG_DECIMAL); BUILTIN_TYPE_NAMES.add(BuiltInNames.DATE); BUILTIN_TYPE_NAMES.add(BuiltInNames.TIME); BUILTIN_TYPE_NAMES.add(BuiltInNames.TIMESTAMP); BUILTIN_TYPE_NAMES.add(BuiltInNames.OBJECT); BUILTIN_TYPE_NAMES.add(BuiltInNames.INTEGER); BUILTIN_TYPE_NAMES.add(BuiltInNames.NULL); BUILTIN_TYPE_NAMES.add(BuiltInNames.BLOB); BUILTIN_TYPE_NAMES.add(BuiltInNames.CLOB); BUILTIN_TYPE_NAMES.add(BuiltInNames.ENTITIES); BUILTIN_TYPE_NAMES.add(BuiltInNames.ENTITY); BUILTIN_TYPE_NAMES.add(BuiltInNames.IDREFS); BUILTIN_TYPE_NAMES.add(BuiltInNames.IDREF); BUILTIN_TYPE_NAMES.add(BuiltInNames.ID); BUILTIN_TYPE_NAMES.add(BuiltInNames.NCNAME); BUILTIN_TYPE_NAMES.add(BuiltInNames.NMTOKENS); BUILTIN_TYPE_NAMES.add(BuiltInNames.NMTOKEN); BUILTIN_TYPE_NAMES.add(BuiltInNames.NOTATION); BUILTIN_TYPE_NAMES.add(BuiltInNames.NAME); BUILTIN_TYPE_NAMES.add(BuiltInNames.QNAME); BUILTIN_TYPE_NAMES.add(BuiltInNames.ANY_TYPE); BUILTIN_TYPE_NAMES.add(BuiltInNames.ANY_SIMPLE_TYPE); BUILTIN_TYPE_NAMES.add(BuiltInNames.ANY_URI); BUILTIN_TYPE_NAMES.add(BuiltInNames.BASE64_BINARY); BUILTIN_TYPE_NAMES.add(BuiltInNames.DATE_TIME); BUILTIN_TYPE_NAMES.add(BuiltInNames.DECIMAL); BUILTIN_TYPE_NAMES.add(BuiltInNames.DURATION); BUILTIN_TYPE_NAMES.add(BuiltInNames.GDAY); BUILTIN_TYPE_NAMES.add(BuiltInNames.GMONTH_DAY); BUILTIN_TYPE_NAMES.add(BuiltInNames.GMONTH); BUILTIN_TYPE_NAMES.add(BuiltInNames.GYEAR_MONTH); BUILTIN_TYPE_NAMES.add(BuiltInNames.GYEAR); BUILTIN_TYPE_NAMES.add(BuiltInNames.HEX_BINARY); BUILTIN_TYPE_NAMES.add(BuiltInNames.LANGUAGE); BUILTIN_TYPE_NAMES.add(BuiltInNames.NEGATIVE_INTEGER); BUILTIN_TYPE_NAMES.add(BuiltInNames.NON_NEGATIVE_INTEGER); BUILTIN_TYPE_NAMES.add(BuiltInNames.NON_POSITIVE_INTEGER); BUILTIN_TYPE_NAMES.add(BuiltInNames.NORMALIZED_STRING); BUILTIN_TYPE_NAMES.add(BuiltInNames.POSITIVE_INTEGER); BUILTIN_TYPE_NAMES.add(BuiltInNames.TOKEN); BUILTIN_TYPE_NAMES.add(BuiltInNames.UNSIGNED_BYTE); BUILTIN_TYPE_NAMES.add(BuiltInNames.UNSIGNED_INT); BUILTIN_TYPE_NAMES.add(BuiltInNames.UNSIGNED_LONG); BUILTIN_TYPE_NAMES.add(BuiltInNames.UNSIGNED_SHORT); BUILTIN_TYPE_NAMES.add(BuiltInNames.XML_LITERAL); BUILTIN_TYPE_NAMES.add(BuiltInNames.GEOMETRY); } /** * Returns whether the given namespace is the XML Schema Enterprise Datatype namespace. * @param namespace a namespace. * @return whether the given namespace is the XML Schema Enterprise Datatype namespace. */ public static boolean isSchemaEnterpriseDatatypeNamespace(final String namespace) { return SCHEMA_FOR_ENTERPRISE_DATATYPES_URI_2005.equals(namespace); } /** * Returns whether the given namespace prefix is the XML Schema Enterprise Datatype namespace prefix. * @param prefix a namespace prefix. * @return whether the given namespace prefix is the XML Schema Enterprise Datatype namespace prefix. */ public static boolean isSchemaEnterpriseDatatypeNamespacePrefix(final String prefix) { return PREFIX_FOR_ENTERPRISE_DATATYPES_URI_2005.equals(prefix); } /** * Attempt to convert the specified string to the appropriate ObjectID instance. * @param value the stringified id with the protocol and ObjectID.DELIMITER already * removed, and which is never null or zero length * @return the ObjectID instance for the stringified ID if this factory is able * to parse the string, or null if the factory is unaware of the specified format. */ public static UUID stringToObject(String value) throws InvalidIDException { try { return new UUID(java.util.UUID.fromString(value)); } catch ( IllegalArgumentException e ) { throw new InvalidIDException( RuntimeMetadataPlugin.Util.getString("UUID.InvalidFormatForProtocol",value,PROTOCOL)); //$NON-NLS-1$ } } }