/*
* 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.metamodels.builder.execution;
import org.eclipse.emf.ecore.EcorePackage;
import org.teiid.core.designer.PluginUtil;
import org.teiid.designer.metamodels.core.extension.ExtensionPackage;
import org.teiid.designer.metamodels.relational.RelationalPackage;
/**
* Defines the constants used in the MetaModel entity builder process.
*
* @since 8.0
*/
public interface MetamodelBuilderConstants {
// Plug-in constants
final String pluginID = MetamodelBuilderExecutionPlugin.PLUGIN_ID;
final PluginUtil UTIL = MetamodelBuilderExecutionPlugin.Util;
// Structural feature keys
final String DESCRIPTION = "description"; //$NON-NLS-1$
static final String NAME = "name"; //$NON-NLS-1$
// URI Constants
final String MM_PREFIX = "MM:"; //$NON-NLS-1$
final String XSD_PREFIX = "XSD:"; //$NON-NLS-1$
final String POUND = "#"; //$NON-NLS-1$
final String MM_URI = "http://www.metamatrix.com/metamodels/"; //$NON-NLS-1$
final String ECORE_URI = EcorePackage.eNS_URI + "#//"; //$NON-NLS-1$
final String XSD_RESOURCE_URI = "http://www.w3.org/2001/XMLSchema"; //$NON-NLS-1$
final String XSD_DT_URI = XSD_RESOURCE_URI + POUND;
final String MM_DT_RESOURCE_URI = "http://www.metamatrix.com/metamodels/SimpleDatatypes-instance"; //$NON-NLS-1$
final String MM_DT_URI = MM_DT_RESOURCE_URI + POUND;
final String RELATIONAL_URI = RelationalPackage.eNS_URI + "#//"; //$NON-NLS-1$
final String EXTENSION_URI = ExtensionPackage.eNS_URI + "#//"; //$NON-NLS-1$
// Primary MetaModel Types
final int UNKNOWN_MODEL = -1;
final int RELATIONAL_MODEL = 1;
final int EXTENSION_MODEL = 2;
final int RELATIONSHIP_MODEL = 3;
final int XSD_MODEL = 4;
final int UML_MODEL = 5;
final String RELATIONAL_STR = "Relational"; //$NON-NLS-1$
final String EXTENSION_STR = "Extension"; //$NON-NLS-1$
final String RELATIONSHIP_STR = "Relationship"; //$NON-NLS-1$
final String XSD_STR = "XSD"; //$NON-NLS-1$
final String UML_STR = "UML"; //$NON-NLS-1$
final String VIRTUAL_STR = "Virtual"; //$NON-NLS-1$
final String PHYSICAL_STR = "Physical"; //$NON-NLS-1$
final String MODEL_EXT = ".xmi"; //$NON-NLS-1$
final String PATH_SEPARATOR = "\\"; //$NON-NLS-1$
// Extensions Schema Tables
final String XCLASS_TABLE = "XClass"; //$NON-NLS-1$
final String XPACKAGE_TABLE = "XPackage"; //$NON-NLS-1$
final String XATTRIBUTE_TABLE = "XAttribute"; //$NON-NLS-1$
final String XENUM_TABLE = "XEnum"; //$NON-NLS-1$
final String XENUM_LITERAL_TABLE = "XEnumLiteral"; //$NON-NLS-1$
// Processing order for the Extensions Schema Tables
final String[] EXTENSIONS_PROCESSING_ORDER = new String[] {XPACKAGE_TABLE, XCLASS_TABLE, XENUM_TABLE, XATTRIBUTE_TABLE,
XENUM_LITERAL_TABLE};
// Relational Schema Tables
final String CATALOG_TABLE = "Catalog"; //$NON-NLS-1$
final String SCHEMA_TABLE = "Schema"; //$NON-NLS-1$
final String BASETABLE_TABLE = "BaseTable"; //$NON-NLS-1$
final String COLUMN_TABLE = "Column"; //$NON-NLS-1$
final String INDEX_TABLE = "Index"; //$NON-NLS-1$
final String FOREIGN_KEY_TABLE = "ForeignKey"; //$NON-NLS-1$
final String PRIMARY_KEY_TABLE = "PrimaryKey"; //$NON-NLS-1$
final String VIEW_TABLE = "View"; //$NON-NLS-1$
final String PROCEDURE_TABLE = "Procedure"; //$NON-NLS-1$
final String PROCEDURE_PARAMETER_TABLE = "ProcedureParameter"; //$NON-NLS-1$
final String PROCEDURE_RESULT_TABLE = "ProcedureResult"; //$NON-NLS-1$
final String UNIQUE_CONSTRAINT_TABLE = "UniqueConstraint"; //$NON-NLS-1$
// Processing order for the Relational Schema Tables
final String[] RELATIONAL_PROCESSING_ORDER = new String[] {CATALOG_TABLE, SCHEMA_TABLE, BASETABLE_TABLE, VIEW_TABLE,
PROCEDURE_TABLE, COLUMN_TABLE, PROCEDURE_RESULT_TABLE, PROCEDURE_PARAMETER_TABLE, INDEX_TABLE, PRIMARY_KEY_TABLE,
FOREIGN_KEY_TABLE, UNIQUE_CONSTRAINT_TABLE};
}