/*
* Chrysalix
* See the COPYRIGHT.txt file distributed with this work for information
* regarding copyright ownership. Some portions may be licensed
* to Red Hat, Inc. under one or more contributor license agreements.
* See the AUTHORS.txt file in the distribution for a full listing of
* individual contributors.
*
* Chrysalix is free software. Unless otherwise indicated, all code in Chrysalix
* is licensed to you under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* Chrysalix is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.modelspace.ddl.relational;
import java.util.HashMap;
import java.util.Map;
/**
*
*
*
*/
@SuppressWarnings( "javadoc" )
public interface RelationalConstants {
final static String XMI_EXT = ".xmi"; //$NON-NLS-1$
public static final String PLUGIN_ID = "org.komodo.relational"; //$NON-NLS-1$
class BASE_TABLE_EXT_PROPERTIES {
public static final String NATIVE_QUERY = "relational:native-query"; //$NON-NLS-1$
public static final String VIEW_TABLE_GLOBAL_TEMP_TABLE = "relational:global-temp-table"; //$NON-NLS-1$
}
class COLUMN_DDL_OPTION_KEYS {
public static final String NULL_VALUE_COUNT = "NULL_VALUE_COUNT"; //$NON-NLS-1$
public static final String DATATYPE = "DATATYPE"; //$NON-NLS-1$
public static final String NATIVE_TYPE = "NATIVE_TYPE"; //$NON-NLS-1$
public static final String CASE_SENSITIVE = "CASE_SENSITIVE"; //$NON-NLS-1$
public static final String CHARACTER_SET_NAME = "CHARACTERSETNAME"; //$NON-NLS-1$
public static final String CHAR_OCTET_LENGTH = "CHAR_OCTET_LENGTH"; //$NON-NLS-1$
public static final String COLLATION_NAME = "COLLATIONNAME"; //$NON-NLS-1$
public static final String CURRENCY = "CURRENCY"; //$NON-NLS-1$
public static final String FORMAT = "FORMAT"; //$NON-NLS-1$
public static final String FIXED_LENGTH = "FIXED_LENGTH"; //$NON-NLS-1$
public static final String MAX_VALUE = "MAX_VALUE"; //$NON-NLS-1$
public static final String MIN_VALUE = "MIN_VALUE"; //$NON-NLS-1$
public static final String RADIX = "RADIX"; //$NON-NLS-1$
public static final String SIGNED = "SIGNED"; //$NON-NLS-1$
public static final String SEARCHABLE = "SEARCHABLE"; //$NON-NLS-1$
public static final String SELECTABLE = "SELECTABLE"; //$NON-NLS-1$
public static final String UPDATABLE = "UPDATABLE"; //$NON-NLS-1$
public static String[] toArray() {
return new String[] { NULL_VALUE_COUNT, DATATYPE, NATIVE_TYPE,
CASE_SENSITIVE, CHARACTER_SET_NAME, CHAR_OCTET_LENGTH,
COLLATION_NAME, CURRENCY, FORMAT,
FIXED_LENGTH, MAX_VALUE, MIN_VALUE,
RADIX, SIGNED, SEARCHABLE, SELECTABLE, UPDATABLE };
}
}
class COLUMN_DDL_PROPERTY_KEYS {
public static final String NULLABLE = "NULLABLE"; //$NON-NLS-1$
public static final String AUTO_INCREMENTED = "AUTOINCREMENTED"; //$NON-NLS-1$
public static final String DATATYPE_NAME = "DATATYPE_NAME"; //$NON-NLS-1$
public static final String LENGTH = "LENGTH"; //$NON-NLS-1$
public static final String PRECISION = "PRECISION"; //$NON-NLS-1$
public static final String SCALE = "SCALE"; //$NON-NLS-1$
public static final String DEFAULT_VALUE = "DEFAULTVALUE"; //$NON-NLS-1$
public static String[] toArray() {
return new String[] { DATATYPE_NAME, NULLABLE, AUTO_INCREMENTED, DEFAULT_VALUE,
LENGTH, PRECISION, SCALE };
}
}
class COLUMN_DEFAULT {
public static final int LENGTH = 0;
public static final int PRECISION = 0;
public static final int NUMERIC_PRECISION = 1;
public static final int RADIX = 0;
public static final int SCALE = 0;
public static final int DISTINCT_VALUE_COUNT = -1;
public static final int NULL_VALUE_COUNT = -1;
public static final String DATATYPE = null;
public static final String DATATYPE_NAME = null;
public static final String DEFAULT_VALUE = null;
public static final String NATIVE_TYPE = null;
public static final String NULLABLE = NULLABLE_OPTIONS.NULL;
public static final boolean AUTO_INCREMENTED = false;
public static final boolean CASE_SENSITIVE = true;
public static final String CHARACTER_SET_NAME = null;
public static final int CHAR_OCTET_LENGTH = 0;
public static final String COLLATION_NAME = null;
public static final boolean CURRENCY = false;
public static final String VALUE = null;
public static final String FORMAT = null;
public static final boolean FIXED_LENGTH = false;
public static final String MAXIMUM_VALUE = null;
public static final String MINIMUM_VALUE = null;
public static final boolean SIGNED = true;
public static final String SEARCHABILITY = SEARCHABILITY_OPTIONS.SEARCHABLE;
public static final boolean SELECTABLE = true;
public static final boolean UPDATABLE = true;
public static Map< String, Object > toMap() {
final Map< String, Object > defaultMap = COMMON_DEFAULT.toMap();
defaultMap.put( COLUMN_DDL_PROPERTY_KEYS.NULLABLE, NULLABLE );
defaultMap.put( COLUMN_DDL_PROPERTY_KEYS.AUTO_INCREMENTED, AUTO_INCREMENTED );
defaultMap.put( COLUMN_DDL_PROPERTY_KEYS.DATATYPE_NAME, DATATYPE_NAME );
defaultMap.put( COLUMN_DDL_PROPERTY_KEYS.LENGTH, LENGTH );
defaultMap.put( COLUMN_DDL_PROPERTY_KEYS.PRECISION, PRECISION );
defaultMap.put( COLUMN_DDL_PROPERTY_KEYS.SCALE, SCALE );
defaultMap.put( COLUMN_DDL_PROPERTY_KEYS.DEFAULT_VALUE, DEFAULT_VALUE );
defaultMap.put( COLUMN_DDL_OPTION_KEYS.NULL_VALUE_COUNT, NULL_VALUE_COUNT );
defaultMap.put( COLUMN_DDL_OPTION_KEYS.DATATYPE, DATATYPE );
defaultMap.put( COLUMN_DDL_OPTION_KEYS.NATIVE_TYPE, NATIVE_TYPE );
defaultMap.put( COLUMN_DDL_OPTION_KEYS.CASE_SENSITIVE, CASE_SENSITIVE );
defaultMap.put( COLUMN_DDL_OPTION_KEYS.CHARACTER_SET_NAME, CHARACTER_SET_NAME );
defaultMap.put( COLUMN_DDL_OPTION_KEYS.CHAR_OCTET_LENGTH, CHAR_OCTET_LENGTH );
defaultMap.put( COLUMN_DDL_OPTION_KEYS.COLLATION_NAME, COLLATION_NAME );
defaultMap.put( COLUMN_DDL_OPTION_KEYS.CURRENCY, CURRENCY );
defaultMap.put( COLUMN_DDL_OPTION_KEYS.FORMAT, FORMAT );
defaultMap.put( COLUMN_DDL_OPTION_KEYS.FIXED_LENGTH, FIXED_LENGTH );
defaultMap.put( COLUMN_DDL_OPTION_KEYS.MAX_VALUE, MAXIMUM_VALUE );
defaultMap.put( COLUMN_DDL_OPTION_KEYS.MIN_VALUE, MINIMUM_VALUE );
defaultMap.put( COLUMN_DDL_OPTION_KEYS.SIGNED, SIGNED );
defaultMap.put( COLUMN_DDL_OPTION_KEYS.RADIX, RADIX );
defaultMap.put( COLUMN_DDL_OPTION_KEYS.SEARCHABLE, SEARCHABILITY );
defaultMap.put( COLUMN_DDL_OPTION_KEYS.SELECTABLE, SELECTABLE );
defaultMap.put( COLUMN_DDL_OPTION_KEYS.UPDATABLE, UPDATABLE );
return defaultMap;
}
}
class COMMON_DDL_OPTION_KEYS {
public static final String NAME_IN_SOURCE = "NAMEINSOURCE"; //$NON-NLS-1$
public static final String DESCRIPTION = "ANNOTATION"; //$NON-NLS-1$
public static String[] toArray() {
return new String[] { NAME_IN_SOURCE, DESCRIPTION };
}
}
class COMMON_DDL_PROPERTY_KEYS {
public static final String NAME = "NAME"; //$NON-NLS-1$
public static String[] toArray() {
return new String[] { NAME };
}
}
class COMMON_DEFAULT {
public static final String NAME = null;
public static final String NAME_IN_SOURCE = null;
public static final String DESCRIPTION = null;
public static Map< String, Object > toMap() {
final Map< String, Object > defaultMap = new HashMap< String, Object >();
defaultMap.put( COMMON_DDL_PROPERTY_KEYS.NAME, NAME );
defaultMap.put( COMMON_DDL_OPTION_KEYS.NAME_IN_SOURCE, NAME_IN_SOURCE );
defaultMap.put( COMMON_DDL_OPTION_KEYS.DESCRIPTION, DESCRIPTION );
return defaultMap;
}
}
class DETERMINISM_OPTIONS {
public static final String NONDETERMINISTIC = "NONDETERMINISTIC";
public static final String COMMAND_DETERMINISTIC = "COMMAND_DETERMINISTIC";
public static final String SESSION_DETERMINISTIC = "SESSION_DETERMINISTIC";
public static final String USER_DETERMINISTIC = "USER_DETERMINISTIC";
public static final String VDB_DETERMINISTIC = "VDB_DETERMINISTIC";
public static final String DETERMINISTIC = "DETERMINISTIC";
}
// IN, INOUT, OUT, VARIADIC
class DIRECTION_OPTIONS {
public static final String IN = "IN"; //$NON-NLS-1$
public static final String INOUT = "INOUT"; //$NON-NLS-1$
public static final String OUT = "OUT"; //$NON-NLS-1$
public static final String VARIADIC = "VARIADIC"; //$NON-NLS-1$
public static final String[] AS_ARRAY = { IN, INOUT, OUT, VARIADIC };
public static final String DEFAULT_VALUE = IN;
}
class FOREIGN_KEY_DEFAULT {
public static final String FOREIGN_KEY_MULTIPLICITY = MULTIPLICITY_OPTIONS.ZERO_TO_MANY;
public static final String PRIMARY_KEY_MULTIPLICITY = MULTIPLICITY_OPTIONS.ONE;
public static final String UNIQUE_KEY_NAME = null;
public static final String UNIQUE_KEY_TABLE_NAME = null;
public static final boolean ALLOW_JOIN = true;
public static Map< String, Object > toMap() {
final Map< String, Object > defaultMap = COMMON_DEFAULT.toMap();
defaultMap.put( FOREIGN_KEY_PROP_KEYS.FOREIGN_KEY_MULTIPLICITY, FOREIGN_KEY_MULTIPLICITY );
defaultMap.put( FOREIGN_KEY_PROP_KEYS.PRIMARY_KEY_MULTIPLICITY, PRIMARY_KEY_MULTIPLICITY );
defaultMap.put( FOREIGN_KEY_PROP_KEYS.UNIQUE_KEY_NAME, UNIQUE_KEY_NAME );
defaultMap.put( FOREIGN_KEY_PROP_KEYS.UNIQUE_KEY_TABLE_NAME, UNIQUE_KEY_TABLE_NAME );
return defaultMap;
}
}
class FOREIGN_KEY_EXT_PROPERTIES {
public static final String ALLOW_JOIN = "relational:allow-join"; //$NON-NLS-1$
}
class FOREIGN_KEY_PROP_KEYS {
public static final String FOREIGN_KEY_MULTIPLICITY = "FKMULTIPLICITY"; //$NON-NLS-1$
public static final String PRIMARY_KEY_MULTIPLICITY = "PKMULTIPLICITY"; //$NON-NLS-1$
public static final String UNIQUE_KEY_NAME = "UNIQUEKEYNAME"; //$NON-NLS-1$
public static final String UNIQUE_KEY_TABLE_NAME = "UNIQUEKEYTABLENAME"; //$NON-NLS-1$
public static String[] toArray() {
return new String[] { FOREIGN_KEY_MULTIPLICITY, PRIMARY_KEY_MULTIPLICITY, UNIQUE_KEY_NAME, UNIQUE_KEY_TABLE_NAME };
}
}
class INDEX_DEFAULT {
public static final boolean AUTO_UPDATE = false;
public static final String FILTER_CONDITION = null;
public static final boolean NULLABLE = false;
public static final boolean UNIQUE = false;
public static Map< String, Object > toMap() {
final Map< String, Object > defaultMap = COMMON_DEFAULT.toMap();
defaultMap.put( INDEX_PROP_KEYS.AUTO_UPDATE, AUTO_UPDATE );
defaultMap.put( INDEX_PROP_KEYS.FILTER_CONDITION, FILTER_CONDITION );
defaultMap.put( INDEX_PROP_KEYS.NULLABLE, NULLABLE );
defaultMap.put( INDEX_PROP_KEYS.UNIQUE, UNIQUE );
return defaultMap;
}
}
class INDEX_PROP_KEYS {
public static final String AUTO_UPDATE = "AUTOUPDATE"; //$NON-NLS-1$
public static final String FILTER_CONDITION = "FILTERCONDITION"; //$NON-NLS-1$
public static final String NULLABLE = "NULLABLE"; //$NON-NLS-1$
public static final String UNIQUE = "UNIQUE"; //$NON-NLS-1$
public static String[] toArray() {
return new String[] { AUTO_UPDATE, FILTER_CONDITION, NULLABLE, UNIQUE };
}
}
// MANY, ONE, UNSPECIFICIED, ZERO_TO_MANY, ZERO_TO_ONE
class MULTIPLICITY_OPTIONS {
public static final String MANY = "MANY"; //$NON-NLS-1$
public static final String ONE = "ONE"; //$NON-NLS-1$
public static final String UNSPECIFICIED = "UNSPECIFICIED"; //$NON-NLS-1$
public static final String ZERO_TO_MANY = "ZERO_TO_MANY"; //$NON-NLS-1$
public static final String ZERO_TO_ONE = "ZERO_TO_ONE"; //$NON-NLS-1$
public static final String[] AS_ARRAY = { MANY, ONE, UNSPECIFICIED, ZERO_TO_MANY, ZERO_TO_ONE };
}
// NO_NULLS, NULLABLE, NULLABLE_UNKNOWN
class NULLABLE_OPTIONS {
public static final String NOT_NULL = "NOT NULL"; //$NON-NLS-1$
public static final String NULL = "NULL"; //$NON-NLS-1$
public static final String[] AS_ARRAY = { NOT_NULL, NULL };
public static final String DEFAULT_VALUE = NULL;
}
class PARAMETER_DDL_OPTION_KEYS {
public static final String NATIVE_TYPE = "NATIVE_TYPE"; //$NON-NLS-1$
public static String[] toArray() {
return new String[] { NATIVE_TYPE };
}
}
class PARAMETER_DDL_PROPERTY_KEYS {
public static final String DIRECTION = "DIRECTION"; //$NON-NLS-1$
public static final String DATATYPE_NAME = "DATATYPE_NAME"; //$NON-NLS-1$
public static final String NULLABLE = "NULLABLE"; //$NON-NLS-1$
public static final String DEFAULT_VALUE = "DEFAULTVALUE"; //$NON-NLS-1$
public static final String LENGTH = "LENGTH"; //$NON-NLS-1$
public static final String PRECISION = "PRECISION"; //$NON-NLS-1$
public static final String SCALE = "SCALE"; //$NON-NLS-1$
public static String[] toArray() {
return new String[] { DIRECTION, DATATYPE_NAME, NULLABLE, DEFAULT_VALUE, LENGTH, PRECISION, SCALE };
}
}
class PARAMETER_DEFAULT {
public static final int SCALE = 0;
public static final int LENGTH = 0;
public static final int PRECISION = 0;
public static final String NATIVE_TYPE = null;
public static final String DATATYPE_NAME = null;
public static final String NULLABLE = NULLABLE_OPTIONS.NULL;
public static final String DIRECTION = DIRECTION_OPTIONS.IN;
public static final String DEFAULT_VALUE = null;
public static final int STRING_LENGTH = 4000;
public static Map< String, Object > toMap() {
final Map< String, Object > defaultMap = COMMON_DEFAULT.toMap();
defaultMap.put( PARAMETER_DDL_PROPERTY_KEYS.SCALE, SCALE );
defaultMap.put( PARAMETER_DDL_PROPERTY_KEYS.LENGTH, LENGTH );
defaultMap.put( PARAMETER_DDL_PROPERTY_KEYS.PRECISION, PRECISION );
defaultMap.put( PARAMETER_DDL_PROPERTY_KEYS.NULLABLE, NULLABLE );
defaultMap.put( PARAMETER_DDL_PROPERTY_KEYS.DIRECTION, DIRECTION );
defaultMap.put( PARAMETER_DDL_PROPERTY_KEYS.DEFAULT_VALUE, DEFAULT_VALUE );
defaultMap.put( PARAMETER_DDL_PROPERTY_KEYS.DATATYPE_NAME, DATATYPE_NAME );
defaultMap.put( PARAMETER_DDL_OPTION_KEYS.NATIVE_TYPE, NATIVE_TYPE );
return defaultMap;
}
}
class PROCEDURE_DDL_OPTION_KEYS {
public static final String UPDATECOUNT = "UPDATECOUNT";
public static final String CATEGORY = "CATEGORY";
public static final String AGGREGATE = "AGGREGATE";
public static final String ALLOWS_DISTINCT = "ALLOWS-DISTINCT";
public static final String ALLOWS_ORDERBY = "ALLOWS-ORDERBY";
public static final String ANALYTIC = "ANALYTIC";
public static final String DECOMPOSABLE = "DECOMPOSABLE";
public static final String NON_PREPARED = "NON_PREPARED";
public static final String NULL_ON_NULL = "NULL-ON-NULL";
public static final String USES_DISTINCT_ROWS = "USES-DISTINCT-ROWS";
public static final String VARARGS = "VARARGS";
public static final String DETERMINISM = "DETERMINISM";
public static final String NATIVE_QUERY = "NATIVE_QUERY";
public static final String JAVA_CLASS = "JAVA_CLASS";
public static final String JAVA_METHOD = "JAVA_METHOD";
public static String[] toArray() {
return new String[] { UPDATECOUNT, CATEGORY, AGGREGATE, ALLOWS_DISTINCT, ALLOWS_ORDERBY,
ANALYTIC, DECOMPOSABLE, NON_PREPARED, NULL_ON_NULL, USES_DISTINCT_ROWS,
VARARGS, DETERMINISM, NATIVE_QUERY, JAVA_CLASS, JAVA_METHOD };
}
}
class PROCEDURE_DDL_PROPERTY_KEYS {
// public static final String FUNCTION = "FUNCTION";
public static String[] toArray() {
return new String[] {};
}
}
class PROCEDURE_DEFAULT {
public static final boolean FUNCTION = false;
public static final boolean NON_PREPARED = false;
public static final String NATIVE_QUERY = null;
public static final String UPDATECOUNT = "AUTO"; //$NON-NLS-1$
public static final String DATATYPE = "string"; //$NON-NLS-1$
public static final String CATEGORY = null;
public static final String DETERMINISM = DETERMINISM_OPTIONS.NONDETERMINISTIC;
public static final boolean NULL_ON_NULL = false;
public static final String JAVA_CLASS = null;
public static final String JAVA_METHOD = null;
public static final boolean VARARGS = false;
public static final boolean AGGREGATE = false;
public static final boolean ANALYTIC = false;
public static final boolean ALLOWS_ORDERBY = false;
public static final boolean ALLOWS_DISTINCT = false;
public static final boolean DECOMPOSABLE = false;
public static final boolean USES_DISTINCT_ROWS = false;
public static Map< String, Object > toMap() {
final Map< String, Object > defaultMap = COMMON_DEFAULT.toMap();
// defaultMap.put(PROCEDURE_DDL_PROPERTY_KEYS.FUNCTION, FUNCTION);
defaultMap.put( PROCEDURE_DDL_OPTION_KEYS.NON_PREPARED, NON_PREPARED );
defaultMap.put( PROCEDURE_DDL_OPTION_KEYS.NATIVE_QUERY, NATIVE_QUERY );
defaultMap.put( PROCEDURE_DDL_OPTION_KEYS.UPDATECOUNT, UPDATECOUNT );
defaultMap.put( PROCEDURE_DDL_OPTION_KEYS.CATEGORY, CATEGORY );
defaultMap.put( PROCEDURE_DDL_OPTION_KEYS.DETERMINISM, DETERMINISM );
defaultMap.put( PROCEDURE_DDL_OPTION_KEYS.NULL_ON_NULL, NULL_ON_NULL );
defaultMap.put( PROCEDURE_DDL_OPTION_KEYS.JAVA_CLASS, JAVA_CLASS );
defaultMap.put( PROCEDURE_DDL_OPTION_KEYS.JAVA_METHOD, JAVA_METHOD );
defaultMap.put( PROCEDURE_DDL_OPTION_KEYS.VARARGS, VARARGS );
defaultMap.put( PROCEDURE_DDL_OPTION_KEYS.AGGREGATE, AGGREGATE );
defaultMap.put( PROCEDURE_DDL_OPTION_KEYS.ANALYTIC, ANALYTIC );
defaultMap.put( PROCEDURE_DDL_OPTION_KEYS.ALLOWS_ORDERBY, ALLOWS_ORDERBY );
defaultMap.put( PROCEDURE_DDL_OPTION_KEYS.ALLOWS_DISTINCT, ALLOWS_DISTINCT );
defaultMap.put( PROCEDURE_DDL_OPTION_KEYS.DECOMPOSABLE, DECOMPOSABLE );
defaultMap.put( PROCEDURE_DDL_OPTION_KEYS.USES_DISTINCT_ROWS, USES_DISTINCT_ROWS );
return defaultMap;
}
}
class PROCEDURE_EXT_PROPERTIES {
public static final String AGGREGATE = "relational:aggregate"; //$NON-NLS-1$
public static final String ALLOWS_ORDER_BY = "relational:allows-orderby"; //$NON-NLS-1$
public static final String ALLOWS_DISTINCT = "relational:allows-distinct"; //$NON-NLS-1$
public static final String ANALYTIC = "relational:analytic"; //$NON-NLS-1$
public static final String DECOMPOSABLE = "relational:decomposable"; //$NON-NLS-1$
public static final String DETERMINISTIC = "relational:deterministic"; //$NON-NLS-1$
public static final String NATIVE_QUERY = "relational:native-query"; //$NON-NLS-1$
public static final String NON_PREPARED = "relational:non-prepared"; //$NON-NLS-1$
public static final String USES_DISTINCT_ROWS = "relational:uses-distinct-rows"; //$NON-NLS-1$
public static final String VARARGS = "relational:varargs"; //$NON-NLS-1$
public static final String NULL_ON_NULL = "relational:null-on-null"; //$NON-NLS-1$
public static final String JAVA_CLASS = "relational:java-class"; //$NON-NLS-1$
public static final String JAVA_METHOD = "relational:java-method"; //$NON-NLS-1$
public static final String UDF_JAR_PATH = "relational:udfJarPath"; //$NON-NLS-1$
public static final String FUNCTION_CATEGORY = "relational:function-category"; //$NON-NLS-1$
}
// ALL_EXCEPT_LIKE, LIKE_ONLY, SEARCHABLE, UNSEARCHABLE
class SEARCHABILITY_OPTIONS {
public static final String ALL_EXCEPT_LIKE = "ALL_EXCEPT_LIKE"; //$NON-NLS-1$
public static final String LIKE_ONLY = "LIKE_ONLY"; //$NON-NLS-1$
public static final String SEARCHABLE = "SEARCHABLE"; //$NON-NLS-1$
public static final String UNSEARCHABLE = "UNSEARCHABLE"; //$NON-NLS-1$
public static final String[] AS_ARRAY = { ALL_EXCEPT_LIKE, LIKE_ONLY, SEARCHABLE, UNSEARCHABLE };
}
class TABLE_DDL_OPTION_KEYS {
public static final String CARDINALITY = "CARDINALITY"; //$NON-NLS-1$
public static final String MATERIALIZED = "MATERIALIZED"; //$NON-NLS-1$
public static final String MATERIALIZED_TABLE = "MATERIALIZEDTABLE"; //$NON-NLS-1$
public static final String UPDATABLE = "UPDATABLE"; //$NON-NLS-1$
//public static final String SYSTEM = "SYSTEM"; //$NON-NLS-1$
public static String[] toArray() {
return new String[] { CARDINALITY, MATERIALIZED, MATERIALIZED_TABLE, UPDATABLE };
}
}
class TABLE_DEFAULT {
public static final int CARDINALITY = -1;
public static final boolean MATERIALIZED = false;
public static final String MATERIALIZED_TABLE = null;
public static final boolean UPDATABLE = true;
public static Map< String, Object > toMap() {
final Map< String, Object > defaultMap = COMMON_DEFAULT.toMap();
defaultMap.put( TABLE_DDL_OPTION_KEYS.CARDINALITY, CARDINALITY );
defaultMap.put( TABLE_DDL_OPTION_KEYS.MATERIALIZED, MATERIALIZED );
defaultMap.put( TABLE_DDL_OPTION_KEYS.MATERIALIZED_TABLE, MATERIALIZED_TABLE );
defaultMap.put( TABLE_DDL_OPTION_KEYS.UPDATABLE, UPDATABLE );
return defaultMap;
}
}
public enum Type {
MODEL( "MODEL" ), //$NON-NLS-1$
SCHEMA( "SCHEMA" ), //$NON-NLS-1$
CATALOG( "CATALOG" ), //$NON-NLS-1$
TABLE( "TABLE" ), //$NON-NLS-1$
VIEW( "VIEW" ), //$NON-NLS-1$
PROCEDURE( "PROCEDURE" ), //$NON-NLS-1$
PARAMETER( "PARAMETER" ), //$NON-NLS-1$
COLUMN( "COLUMN" ), //$NON-NLS-1$
PRIMARY_KEY( "PRIMARY_KEY" ), //$NON-NLS-1$
FOREIGN_KEY( "FOREIGN_KEY" ), //$NON-NLS-1$
UNIQUE_CONSTRAINT( "UNIQUE_CONSTRAINT" ), //$NON-NLS-1$
ACCESS_PATTERN( "ACCESS_PATTERN" ), //$NON-NLS-1$
RESULT_SET( "RESULT_SET" ), //$NON-NLS-1$
INDEX( "INDEX" ); //$NON-NLS-1$
private final String text;
Type( final String text ) {
this.text = text;
}
/**
* @param name
* the name
* @return 'true' if equal, 'false' if not.
*/
public boolean equalsIgnoreCase( final String name ) {
return text.equalsIgnoreCase( name );
}
public String text() {
return text;
}
/**
* @return the lowercase string
*/
public String toLowerCase() {
return text.toLowerCase();
}
}
/**
* relational object type literal strings
*/
class TYPES_LITERAL {
public static final String UNDEFINED = "UNDEFINED"; //$NON-NLS-1$
public static final String MODEL = "MODEL"; //$NON-NLS-1$
public static final String SCHEMA = "SCHEMA"; //$NON-NLS-1$
public static final String CATALOG = "CATALOG"; //$NON-NLS-1$
public static final String TABLE = "TABLE"; //$NON-NLS-1$
public static final String VIEW = "VIEW"; //$NON-NLS-1$
public static final String PROCEDURE = "PROCEDURE"; //$NON-NLS-1$
public static final String PARAMETER = "PARAMETER"; //$NON-NLS-1$
public static final String COLUMN = "COLUMN"; //$NON-NLS-1$
public static final String PRIMARYKEY = "PRIMARY-KEY"; //$NON-NLS-1$
public static final String FOREIGNKEY = "FOREIGN-KEY"; //$NON-NLS-1$
public static final String UNIQUECONSTRAINT = "UNIQUE-CONSTRAINT"; //$NON-NLS-1$
public static final String ACCESSPATTERN = "ACCESS-PATTERN"; //$NON-NLS-1$
public static final String RESULTSET = "RESULT-SET"; //$NON-NLS-1$
public static final String INDEX = "INDEX"; //$NON-NLS-1$
}
// AUTO, MULTIPLE, ONE, ZERO
class UPDATE_COUNT_OPTIONS {
public static final String AUTO = "AUTO"; //$NON-NLS-1$
public static final String MULTIPLE = "MULTIPLE"; //$NON-NLS-1$
public static final String ONE = "ONE"; //$NON-NLS-1$
public static final String ZERO = "ZERO"; //$NON-NLS-1$
public static final String[] AS_ARRAY = { AUTO, MULTIPLE, ONE, ZERO };
public static final String DEFAULT_VALUE = AUTO;
}
}