<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc on Wed Feb 23 15:53:22 PST 2005 -->
<TITLE>
: Interface  DatabaseDefinitionPackage
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../../stylesheet.css" TITLE="Style">
</HEAD>
<BODY BGCOLOR="white">

<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_top"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DatabaseDefinitionPackage.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionFactory.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="DatabaseDefinitionPackage.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.eclipse.wst.rdb.internal.models.dbdefinition</FONT>
<BR>
Interface  DatabaseDefinitionPackage</H2>
<DL>
<DT><B>All Superinterfaces:</B> <DD>org.eclipse.emf.ecore.EModelElement, org.eclipse.emf.ecore.ENamedElement, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EPackage, org.eclipse.emf.common.notify.Notifier</DD>
</DL>
<DL>
<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/DatabaseDefinitionPackageImpl.html">DatabaseDefinitionPackageImpl</A></DD>
</DL>
<HR>
<DL>
<DT>public interface <B>DatabaseDefinitionPackage</B><DT>extends org.eclipse.emf.ecore.EPackage</DL>

<P>
<!-- begin-user-doc -->
 The <b>Package</b> for the model.
 It contains accessors for the meta objects to represent
 <ul>
   <li>each class,</li>
   <li>each feature of each class,</li>
   <li>each enum,</li>
   <li>and each data type</li>
 </ul>
 <!-- end-user-doc -->
<P>
<DL>
<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionFactory.html"><CODE>DatabaseDefinitionFactory</CODE></A></DL>
<HR>

<P>
<!-- ======== INNER CLASS SUMMARY ======== -->

<A NAME="inner_classes_inherited_from_class_org.eclipse.emf.ecore.EPackage"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Inner classes inherited from class org.eclipse.emf.ecore.EPackage</B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>org.eclipse.emf.ecore.EPackage.Descriptor, org.eclipse.emf.ecore.EPackage.Registry</CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Field Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#CHECK_OPTION">CHECK_OPTION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/CheckOption.html"><CODE><em>Check Option</em></CODE></A>' enum.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#COLUMN_DEFINITION">COLUMN_DEFINITION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/ColumnDefinitionImpl.html"><CODE><em>Column Definition</em></CODE></A>' class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#COLUMN_DEFINITION__COMPUTED_SUPPORTED">COLUMN_DEFINITION__COMPUTED_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Computed Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#COLUMN_DEFINITION__IDENTITY_CYCLE_SUPPORTED">COLUMN_DEFINITION__IDENTITY_CYCLE_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Identity Cycle Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#COLUMN_DEFINITION__IDENTITY_INCREMENT_SUPPORTED">COLUMN_DEFINITION__IDENTITY_INCREMENT_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Identity Increment Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#COLUMN_DEFINITION__IDENTITY_MAXIMUM_SUPPORTED">COLUMN_DEFINITION__IDENTITY_MAXIMUM_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Identity Maximum Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#COLUMN_DEFINITION__IDENTITY_MINIMUM_SUPPORTED">COLUMN_DEFINITION__IDENTITY_MINIMUM_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Identity Minimum Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#COLUMN_DEFINITION__IDENTITY_START_VALUE_SUPPORTED">COLUMN_DEFINITION__IDENTITY_START_VALUE_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Identity Start Value Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#COLUMN_DEFINITION__IDENTITY_SUPPORTED">COLUMN_DEFINITION__IDENTITY_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Identity Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#COLUMN_DEFINITION_FEATURE_COUNT">COLUMN_DEFINITION_FEATURE_COUNT</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The number of structural features of the the '<em>Column Definition</em>' class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#CONSTRAINT_DEFINITION">CONSTRAINT_DEFINITION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/ConstraintDefinitionImpl.html"><CODE><em>Constraint Definition</em></CODE></A>' class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#CONSTRAINT_DEFINITION__CHECK_OPTION">CONSTRAINT_DEFINITION__CHECK_OPTION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Check Option</b></em>' attribute list.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#CONSTRAINT_DEFINITION__CLUSTERED_PRIMARY_KEY_SUPPORTED">CONSTRAINT_DEFINITION__CLUSTERED_PRIMARY_KEY_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Clustered Primary Key Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#CONSTRAINT_DEFINITION__CLUSTERED_UNIQUE_CONSTRAINT_SUPPORTED">CONSTRAINT_DEFINITION__CLUSTERED_UNIQUE_CONSTRAINT_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Clustered Unique Constraint Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#CONSTRAINT_DEFINITION__DEFERRABLE_CONSTRAINT_SUPPORTED">CONSTRAINT_DEFINITION__DEFERRABLE_CONSTRAINT_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Deferrable Constraint Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#CONSTRAINT_DEFINITION__INFORMATIONAL_CONSTRAINT_SUPPORTED">CONSTRAINT_DEFINITION__INFORMATIONAL_CONSTRAINT_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Informational Constraint Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#CONSTRAINT_DEFINITION__MAXIMUM_CHECK_EXPRESSION_LENGTH">CONSTRAINT_DEFINITION__MAXIMUM_CHECK_EXPRESSION_LENGTH</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Maximum Check Expression Length</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#CONSTRAINT_DEFINITION__PARENT_DELETE_DRI_RULE_TYPE">CONSTRAINT_DEFINITION__PARENT_DELETE_DRI_RULE_TYPE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Parent Delete DRI Rule Type</b></em>' attribute list.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#CONSTRAINT_DEFINITION__PARENT_UPDATE_DRI_RULE_TYPE">CONSTRAINT_DEFINITION__PARENT_UPDATE_DRI_RULE_TYPE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Parent Update DRI Rule Type</b></em>' attribute list.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#CONSTRAINT_DEFINITION__PRIMARY_KEY_NULLABLE">CONSTRAINT_DEFINITION__PRIMARY_KEY_NULLABLE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Primary Key Nullable</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#CONSTRAINT_DEFINITION__UNIQUE_KEY_NULLABLE">CONSTRAINT_DEFINITION__UNIQUE_KEY_NULLABLE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Unique Key Nullable</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#CONSTRAINT_DEFINITION_FEATURE_COUNT">CONSTRAINT_DEFINITION_FEATURE_COUNT</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The number of structural features of the the '<em>Constraint Definition</em>' class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION">DATABASE_VENDOR_DEFINITION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/DatabaseVendorDefinitionImpl.html"><CODE><em>Database Vendor Definition</em></CODE></A>' class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION__ALIAS_SUPPORTED">DATABASE_VENDOR_DEFINITION__ALIAS_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Alias Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION__COLUMN_DEFINITION">DATABASE_VENDOR_DEFINITION__COLUMN_DEFINITION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Column Definition</b></em>' containment reference.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION__CONSTRAINT_DEFINITION">DATABASE_VENDOR_DEFINITION__CONSTRAINT_DEFINITION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Constraint Definition</b></em>' containment reference.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION__CONSTRAINTS_SUPPORTED">DATABASE_VENDOR_DEFINITION__CONSTRAINTS_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Constraints Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION__DOMAIN_SUPPORTED">DATABASE_VENDOR_DEFINITION__DOMAIN_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Domain Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION__EXTENDED_DEFINITIONS">DATABASE_VENDOR_DEFINITION__EXTENDED_DEFINITIONS</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Extended Definitions</b></em>' containment reference list.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION__INDEX_DEFINITION">DATABASE_VENDOR_DEFINITION__INDEX_DEFINITION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Index Definition</b></em>' containment reference.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION__JOIN_SUPPORTED">DATABASE_VENDOR_DEFINITION__JOIN_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Join Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION__MAXIMUM_COMMENT_LENGTH">DATABASE_VENDOR_DEFINITION__MAXIMUM_COMMENT_LENGTH</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Maximum Comment Length</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION__MAXIMUM_IDENTIFIER_LENGTH">DATABASE_VENDOR_DEFINITION__MAXIMUM_IDENTIFIER_LENGTH</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Maximum Identifier Length</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION__MQT_SUPPORTED">DATABASE_VENDOR_DEFINITION__MQT_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>MQT Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION__NICKNAME_CONSTRAINT_SUPPORTED">DATABASE_VENDOR_DEFINITION__NICKNAME_CONSTRAINT_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Nickname Constraint Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION__NICKNAME_SUPPORTED">DATABASE_VENDOR_DEFINITION__NICKNAME_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Nickname Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION__PREDEFINED_DATA_TYPE_DEFINITIONS">DATABASE_VENDOR_DEFINITION__PREDEFINED_DATA_TYPE_DEFINITIONS</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Predefined Data Type Definitions</b></em>' containment reference list.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION__QUERY_DEFINITION">DATABASE_VENDOR_DEFINITION__QUERY_DEFINITION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Query Definition</b></em>' containment reference.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION__SCHEMA_SUPPORTED">DATABASE_VENDOR_DEFINITION__SCHEMA_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Schema Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION__SEQUENCE_DEFINITION">DATABASE_VENDOR_DEFINITION__SEQUENCE_DEFINITION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Sequence Definition</b></em>' containment reference.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION__SEQUENCE_SUPPORTED">DATABASE_VENDOR_DEFINITION__SEQUENCE_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Sequence Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION__SNAPSHOT_VIEW_SUPPORTED">DATABASE_VENDOR_DEFINITION__SNAPSHOT_VIEW_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Snapshot View Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION__SQL_STATEMENT_SUPPORTED">DATABASE_VENDOR_DEFINITION__SQL_STATEMENT_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>SQL Statement Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION__SQL_SYNTAX_DEFINITION">DATABASE_VENDOR_DEFINITION__SQL_SYNTAX_DEFINITION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>SQL Syntax Definition</b></em>' containment reference.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION__STORED_PROCEDURE_DEFINITION">DATABASE_VENDOR_DEFINITION__STORED_PROCEDURE_DEFINITION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Stored Procedure Definition</b></em>' containment reference.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION__TABLE_DEFINITION">DATABASE_VENDOR_DEFINITION__TABLE_DEFINITION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Table Definition</b></em>' containment reference.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION__TABLE_SPACE_DEFINITION">DATABASE_VENDOR_DEFINITION__TABLE_SPACE_DEFINITION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Table Space Definition</b></em>' containment reference.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION__TABLESPACES_SUPPORTED">DATABASE_VENDOR_DEFINITION__TABLESPACES_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Tablespaces Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION__TRIGGER_DEFINITION">DATABASE_VENDOR_DEFINITION__TRIGGER_DEFINITION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Trigger Definition</b></em>' containment reference.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION__TRIGGER_SUPPORTED">DATABASE_VENDOR_DEFINITION__TRIGGER_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Trigger Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION__UDT_DEFINITION">DATABASE_VENDOR_DEFINITION__UDT_DEFINITION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Udt Definition</b></em>' containment reference.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION__USER_DEFINED_TYPE_SUPPORTED">DATABASE_VENDOR_DEFINITION__USER_DEFINED_TYPE_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>User Defined Type Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION__VENDOR">DATABASE_VENDOR_DEFINITION__VENDOR</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Vendor</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION__VERSION">DATABASE_VENDOR_DEFINITION__VERSION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Version</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION__VIEW_TRIGGER_SUPPORTED">DATABASE_VENDOR_DEFINITION__VIEW_TRIGGER_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>View Trigger Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DATABASE_VENDOR_DEFINITION_FEATURE_COUNT">DATABASE_VENDOR_DEFINITION_FEATURE_COUNT</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The number of structural features of the the '<em>Database Vendor Definition</em>' class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#DEFAULT_VALUE_TYPE">DEFAULT_VALUE_TYPE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DefaultValueType.html"><CODE><em>Default Value Type</em></CODE></A>' enum.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html">DatabaseDefinitionPackage</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#eINSTANCE">eINSTANCE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The singleton instance of the package.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#eNAME">eNAME</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The package name.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#eNS_PREFIX">eNS_PREFIX</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The package namespace name.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#eNS_URI">eNS_URI</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The package namespace URI.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#EXTENDED_DEFINITION">EXTENDED_DEFINITION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/ExtendedDefinitionImpl.html"><CODE><em>Extended Definition</em></CODE></A>' class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#EXTENDED_DEFINITION__NAME">EXTENDED_DEFINITION__NAME</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Name</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#EXTENDED_DEFINITION__VALUE">EXTENDED_DEFINITION__VALUE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Value</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#EXTENDED_DEFINITION_FEATURE_COUNT">EXTENDED_DEFINITION_FEATURE_COUNT</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The number of structural features of the the '<em>Extended Definition</em>' class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#INDEX_DEFINITION">INDEX_DEFINITION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/IndexDefinitionImpl.html"><CODE><em>Index Definition</em></CODE></A>' class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#INDEX_DEFINITION__CLUSTER_CHANGEABLE">INDEX_DEFINITION__CLUSTER_CHANGEABLE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Cluster Changeable</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#INDEX_DEFINITION__CLUSTERING_SUPPORTED">INDEX_DEFINITION__CLUSTERING_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Clustering Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#INDEX_DEFINITION__FILL_FACTOR_SUPPORTED">INDEX_DEFINITION__FILL_FACTOR_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Fill Factor Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#INDEX_DEFINITION__INCLUDED_COLUMNS_SUPPORTED">INDEX_DEFINITION__INCLUDED_COLUMNS_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Included Columns Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#INDEX_DEFINITION__PERCENT_FREE_CHANGEABLE">INDEX_DEFINITION__PERCENT_FREE_CHANGEABLE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Percent Free Changeable</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#INDEX_DEFINITION__PERCENT_FREE_TERMINOLOGY">INDEX_DEFINITION__PERCENT_FREE_TERMINOLOGY</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Percent Free Terminology</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#INDEX_DEFINITION_FEATURE_COUNT">INDEX_DEFINITION_FEATURE_COUNT</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The number of structural features of the the '<em>Index Definition</em>' class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#LANGUAGE_TYPE">LANGUAGE_TYPE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/LanguageType.html"><CODE><em>Language Type</em></CODE></A>' enum.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PARAMETER_STYLE">PARAMETER_STYLE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ParameterStyle.html"><CODE><em>Parameter Style</em></CODE></A>' enum.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PARENT_DELETE_DRI_RULE_TYPE">PARENT_DELETE_DRI_RULE_TYPE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ParentDeleteDRIRuleType.html"><CODE><em>Parent Delete DRI Rule Type</em></CODE></A>' enum.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PARENT_UPDATE_DRI_RULE_TYPE">PARENT_UPDATE_DRI_RULE_TYPE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ParentUpdateDRIRuleType.html"><CODE><em>Parent Update DRI Rule Type</em></CODE></A>' enum.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PERCENT_FREE_TERMINOLOGY">PERCENT_FREE_TERMINOLOGY</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PercentFreeTerminology.html"><CODE><em>Percent Free Terminology</em></CODE></A>' enum.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PREDEFINED_DATA_TYPE_DEFINITION">PREDEFINED_DATA_TYPE_DEFINITION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/PredefinedDataTypeDefinitionImpl.html"><CODE><em>Predefined Data Type Definition</em></CODE></A>' class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PREDEFINED_DATA_TYPE_DEFINITION__BIT_DATA_SUPPORTED">PREDEFINED_DATA_TYPE_DEFINITION__BIT_DATA_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Bit Data Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PREDEFINED_DATA_TYPE_DEFINITION__CHARACTER_SET">PREDEFINED_DATA_TYPE_DEFINITION__CHARACTER_SET</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Character Set</b></em>' attribute list.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PREDEFINED_DATA_TYPE_DEFINITION__CHARACTER_SET_SUFFIX">PREDEFINED_DATA_TYPE_DEFINITION__CHARACTER_SET_SUFFIX</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Character Set Suffix</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PREDEFINED_DATA_TYPE_DEFINITION__CLUSTERING_SUPPORTED">PREDEFINED_DATA_TYPE_DEFINITION__CLUSTERING_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Clustering Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PREDEFINED_DATA_TYPE_DEFINITION__DEFAULT_LENGTH">PREDEFINED_DATA_TYPE_DEFINITION__DEFAULT_LENGTH</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Default Length</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PREDEFINED_DATA_TYPE_DEFINITION__DEFAULT_SUPPORTED">PREDEFINED_DATA_TYPE_DEFINITION__DEFAULT_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Default Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PREDEFINED_DATA_TYPE_DEFINITION__DEFAULT_VALUE_TYPES">PREDEFINED_DATA_TYPE_DEFINITION__DEFAULT_VALUE_TYPES</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Default Value Types</b></em>' attribute list.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PREDEFINED_DATA_TYPE_DEFINITION__ENCODING_SCHEME">PREDEFINED_DATA_TYPE_DEFINITION__ENCODING_SCHEME</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Encoding Scheme</b></em>' attribute list.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PREDEFINED_DATA_TYPE_DEFINITION__ENCODING_SCHEME_SUFFIX">PREDEFINED_DATA_TYPE_DEFINITION__ENCODING_SCHEME_SUFFIX</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Encoding Scheme Suffix</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PREDEFINED_DATA_TYPE_DEFINITION__FILL_FACTOR_SUPPORTED">PREDEFINED_DATA_TYPE_DEFINITION__FILL_FACTOR_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Fill Factor Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PREDEFINED_DATA_TYPE_DEFINITION__FORMATTER_CLASS_NAME">PREDEFINED_DATA_TYPE_DEFINITION__FORMATTER_CLASS_NAME</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Formatter Class Name</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PREDEFINED_DATA_TYPE_DEFINITION__IDENTITY_SUPPORTED">PREDEFINED_DATA_TYPE_DEFINITION__IDENTITY_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Identity Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PREDEFINED_DATA_TYPE_DEFINITION__JAVA_CLASS_NAME">PREDEFINED_DATA_TYPE_DEFINITION__JAVA_CLASS_NAME</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Java Class Name</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PREDEFINED_DATA_TYPE_DEFINITION__JDBC_ENUM_TYPE">PREDEFINED_DATA_TYPE_DEFINITION__JDBC_ENUM_TYPE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Jdbc Enum Type</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PREDEFINED_DATA_TYPE_DEFINITION__KEY_CONSTRAINT_SUPPORTED">PREDEFINED_DATA_TYPE_DEFINITION__KEY_CONSTRAINT_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Key Constraint Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PREDEFINED_DATA_TYPE_DEFINITION__LENGTH_SUPPORTED">PREDEFINED_DATA_TYPE_DEFINITION__LENGTH_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Length Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PREDEFINED_DATA_TYPE_DEFINITION__MAXIMUM_LENGTH">PREDEFINED_DATA_TYPE_DEFINITION__MAXIMUM_LENGTH</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Maximum Length</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PREDEFINED_DATA_TYPE_DEFINITION__MAXIMUM_PRECISION">PREDEFINED_DATA_TYPE_DEFINITION__MAXIMUM_PRECISION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Maximum Precision</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PREDEFINED_DATA_TYPE_DEFINITION__MAXIMUM_SCALE">PREDEFINED_DATA_TYPE_DEFINITION__MAXIMUM_SCALE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Maximum Scale</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PREDEFINED_DATA_TYPE_DEFINITION__MAXIMUM_VALUE">PREDEFINED_DATA_TYPE_DEFINITION__MAXIMUM_VALUE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Maximum Value</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PREDEFINED_DATA_TYPE_DEFINITION__MINIMUM_SCALE">PREDEFINED_DATA_TYPE_DEFINITION__MINIMUM_SCALE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Minimum Scale</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PREDEFINED_DATA_TYPE_DEFINITION__MINIMUM_VALUE">PREDEFINED_DATA_TYPE_DEFINITION__MINIMUM_VALUE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Minimum Value</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PREDEFINED_DATA_TYPE_DEFINITION__MULTIPLE_COLUMNS_SUPPORTED">PREDEFINED_DATA_TYPE_DEFINITION__MULTIPLE_COLUMNS_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Multiple Columns Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PREDEFINED_DATA_TYPE_DEFINITION__NAME">PREDEFINED_DATA_TYPE_DEFINITION__NAME</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Name</b></em>' attribute list.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PREDEFINED_DATA_TYPE_DEFINITION__NULLABLE_SUPPORTED">PREDEFINED_DATA_TYPE_DEFINITION__NULLABLE_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Nullable Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PREDEFINED_DATA_TYPE_DEFINITION__PRECISION_SUPPORTED">PREDEFINED_DATA_TYPE_DEFINITION__PRECISION_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Precision Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PREDEFINED_DATA_TYPE_DEFINITION__PRIMITIVE_TYPE">PREDEFINED_DATA_TYPE_DEFINITION__PRIMITIVE_TYPE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Primitive Type</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PREDEFINED_DATA_TYPE_DEFINITION__SCALE_SUPPORTED">PREDEFINED_DATA_TYPE_DEFINITION__SCALE_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Scale Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PREDEFINED_DATA_TYPE_DEFINITION_FEATURE_COUNT">PREDEFINED_DATA_TYPE_DEFINITION_FEATURE_COUNT</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The number of structural features of the the '<em>Predefined Data Type Definition</em>' class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#PROCEDURE_TYPE">PROCEDURE_TYPE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ProcedureType.html"><CODE><em>Procedure Type</em></CODE></A>' enum.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#QUERY_DEFINITION">QUERY_DEFINITION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/QueryDefinitionImpl.html"><CODE><em>Query Definition</em></CODE></A>' class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#QUERY_DEFINITION__CAST_EXPRESSION_SUPPORTED">QUERY_DEFINITION__CAST_EXPRESSION_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Cast Expression Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#QUERY_DEFINITION__DEFAULT_KEYWORD_FOR_INSERT_VALUE_SUPPORTED">QUERY_DEFINITION__DEFAULT_KEYWORD_FOR_INSERT_VALUE_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Default Keyword For Insert Value Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#QUERY_DEFINITION__EXTENDED_GROUPING_SUPPORTED">QUERY_DEFINITION__EXTENDED_GROUPING_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Extended Grouping Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#QUERY_DEFINITION__HOST_VARIABLE_MARKER">QUERY_DEFINITION__HOST_VARIABLE_MARKER</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Host Variable Marker</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#QUERY_DEFINITION__HOST_VARIABLE_MARKER_SUPPORTED">QUERY_DEFINITION__HOST_VARIABLE_MARKER_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Host Variable Marker Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#QUERY_DEFINITION__IDENTIFIER_QUOTE_STRING">QUERY_DEFINITION__IDENTIFIER_QUOTE_STRING</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Identifier Quote String</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#QUERY_DEFINITION__TABLE_ALIAS_IN_DELETE_SUPPORTED">QUERY_DEFINITION__TABLE_ALIAS_IN_DELETE_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Table Alias In Delete Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#QUERY_DEFINITION_FEATURE_COUNT">QUERY_DEFINITION_FEATURE_COUNT</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The number of structural features of the the '<em>Query Definition</em>' class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#SEQUENCE_DEFINITION">SEQUENCE_DEFINITION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/SequenceDefinitionImpl.html"><CODE><em>Sequence Definition</em></CODE></A>' class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#SEQUENCE_DEFINITION__CACHE_DEFAULT_VALUE">SEQUENCE_DEFINITION__CACHE_DEFAULT_VALUE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Cache Default Value</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#SEQUENCE_DEFINITION__CACHE_SUPPORTED">SEQUENCE_DEFINITION__CACHE_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Cache Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#SEQUENCE_DEFINITION__DEFAULT_DATA_TYPE_DEFINITION">SEQUENCE_DEFINITION__DEFAULT_DATA_TYPE_DEFINITION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Default Data Type Definition</b></em>' reference.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#SEQUENCE_DEFINITION__NO_CACHE_STRING">SEQUENCE_DEFINITION__NO_CACHE_STRING</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>No Cache String</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#SEQUENCE_DEFINITION__NO_MAXIMUM_VALUE_STRING">SEQUENCE_DEFINITION__NO_MAXIMUM_VALUE_STRING</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>No Maximum Value String</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#SEQUENCE_DEFINITION__NO_MINIMUM_VALUE_STRING">SEQUENCE_DEFINITION__NO_MINIMUM_VALUE_STRING</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>No Minimum Value String</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#SEQUENCE_DEFINITION__ORDER_SUPPORTED">SEQUENCE_DEFINITION__ORDER_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Order Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#SEQUENCE_DEFINITION__PREDEFINED_DATA_TYPE_DEFINITIONS">SEQUENCE_DEFINITION__PREDEFINED_DATA_TYPE_DEFINITIONS</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Predefined Data Type Definitions</b></em>' reference list.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#SEQUENCE_DEFINITION__TYPE_ENUMERATION_SUPPORTED">SEQUENCE_DEFINITION__TYPE_ENUMERATION_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Type Enumeration Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#SEQUENCE_DEFINITION_FEATURE_COUNT">SEQUENCE_DEFINITION_FEATURE_COUNT</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The number of structural features of the the '<em>Sequence Definition</em>' class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#SQL_SYNTAX_DEFINITION">SQL_SYNTAX_DEFINITION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/SQLSyntaxDefinitionImpl.html"><CODE><em>SQL Syntax Definition</em></CODE></A>' class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#SQL_SYNTAX_DEFINITION__KEYWORDS">SQL_SYNTAX_DEFINITION__KEYWORDS</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Keywords</b></em>' attribute list.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#SQL_SYNTAX_DEFINITION__OPERATORS">SQL_SYNTAX_DEFINITION__OPERATORS</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Operators</b></em>' attribute list.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#SQL_SYNTAX_DEFINITION_FEATURE_COUNT">SQL_SYNTAX_DEFINITION_FEATURE_COUNT</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The number of structural features of the the '<em>SQL Syntax Definition</em>' class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#STORED_PROCEDURE_DEFINITION">STORED_PROCEDURE_DEFINITION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/StoredProcedureDefinitionImpl.html"><CODE><em>Stored Procedure Definition</em></CODE></A>' class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#STORED_PROCEDURE_DEFINITION__DETERMININSTIC_SUPPORTED">STORED_PROCEDURE_DEFINITION__DETERMININSTIC_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Determininstic Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#STORED_PROCEDURE_DEFINITION__FUNCTION_LANGUAGE_TYPE">STORED_PROCEDURE_DEFINITION__FUNCTION_LANGUAGE_TYPE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Function Language Type</b></em>' attribute list.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#STORED_PROCEDURE_DEFINITION__LANGUAGE_TYPE">STORED_PROCEDURE_DEFINITION__LANGUAGE_TYPE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Language Type</b></em>' attribute list.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#STORED_PROCEDURE_DEFINITION__MAXIMUM_ACTION_BODY_LENGTH">STORED_PROCEDURE_DEFINITION__MAXIMUM_ACTION_BODY_LENGTH</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Maximum Action Body Length</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#STORED_PROCEDURE_DEFINITION__NULL_INPUT_ACTION_SUPPORTED">STORED_PROCEDURE_DEFINITION__NULL_INPUT_ACTION_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Null Input Action Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#STORED_PROCEDURE_DEFINITION__PACKAGE_GENERATION_SUPPORTED">STORED_PROCEDURE_DEFINITION__PACKAGE_GENERATION_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Package Generation Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#STORED_PROCEDURE_DEFINITION__PARAMETER_DECLARATION_CONSTRAINT_SUPPORTED">STORED_PROCEDURE_DEFINITION__PARAMETER_DECLARATION_CONSTRAINT_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Parameter Declaration Constraint Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#STORED_PROCEDURE_DEFINITION__PARAMETER_INIT_VALUE_SUPPORTED">STORED_PROCEDURE_DEFINITION__PARAMETER_INIT_VALUE_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Parameter Init Value Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#STORED_PROCEDURE_DEFINITION__PARAMETER_STYLE">STORED_PROCEDURE_DEFINITION__PARAMETER_STYLE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Parameter Style</b></em>' attribute list.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#STORED_PROCEDURE_DEFINITION__PARAMETER_STYLE_SUPPORTED">STORED_PROCEDURE_DEFINITION__PARAMETER_STYLE_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Parameter Style Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#STORED_PROCEDURE_DEFINITION__PROCEDURE_TYPE">STORED_PROCEDURE_DEFINITION__PROCEDURE_TYPE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Procedure Type</b></em>' attribute list.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#STORED_PROCEDURE_DEFINITION__RETURN_TYPE_SUPPORTED">STORED_PROCEDURE_DEFINITION__RETURN_TYPE_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Return Type Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#STORED_PROCEDURE_DEFINITION__RETURNED_NULL_SUPPORTED">STORED_PROCEDURE_DEFINITION__RETURNED_NULL_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Returned Null Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#STORED_PROCEDURE_DEFINITION__RETURNED_TYPE_DECLARATION_CONSTRAINT_SUPPORTED">STORED_PROCEDURE_DEFINITION__RETURNED_TYPE_DECLARATION_CONSTRAINT_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Returned Type Declaration Constraint Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#STORED_PROCEDURE_DEFINITION_FEATURE_COUNT">STORED_PROCEDURE_DEFINITION_FEATURE_COUNT</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The number of structural features of the the '<em>Stored Procedure Definition</em>' class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TABLE_DEFINITION">TABLE_DEFINITION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/TableDefinitionImpl.html"><CODE><em>Table Definition</em></CODE></A>' class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TABLE_DEFINITION__AUDIT_SUPPORTED">TABLE_DEFINITION__AUDIT_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Audit Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TABLE_DEFINITION__DATA_CAPTURE_SUPPORTED">TABLE_DEFINITION__DATA_CAPTURE_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Data Capture Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TABLE_DEFINITION__EDIT_PROC_SUPPORTED">TABLE_DEFINITION__EDIT_PROC_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Edit Proc Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TABLE_DEFINITION__ENCODING_SUPPORTED">TABLE_DEFINITION__ENCODING_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Encoding Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TABLE_DEFINITION__VALID_PROC_SUPPORTED">TABLE_DEFINITION__VALID_PROC_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Valid Proc Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TABLE_DEFINITION_FEATURE_COUNT">TABLE_DEFINITION_FEATURE_COUNT</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The number of structural features of the the '<em>Table Definition</em>' class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TABLE_SPACE_DEFINITION">TABLE_SPACE_DEFINITION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/TableSpaceDefinitionImpl.html"><CODE><em>Table Space Definition</em></CODE></A>' class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TABLE_SPACE_DEFINITION__BUFFER_POOL_SUPPORTED">TABLE_SPACE_DEFINITION__BUFFER_POOL_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Buffer Pool Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TABLE_SPACE_DEFINITION__CONTAINER_EXTENT_SIZE_SUPPORTED">TABLE_SPACE_DEFINITION__CONTAINER_EXTENT_SIZE_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Container Extent Size Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TABLE_SPACE_DEFINITION__CONTAINER_INITIAL_SIZE_SUPPORTED">TABLE_SPACE_DEFINITION__CONTAINER_INITIAL_SIZE_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Container Initial Size Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TABLE_SPACE_DEFINITION__CONTAINER_MAXIMUM_SIZE_SUPPORTED">TABLE_SPACE_DEFINITION__CONTAINER_MAXIMUM_SIZE_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Container Maximum Size Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TABLE_SPACE_DEFINITION__DEFAULT_SUPPORTED">TABLE_SPACE_DEFINITION__DEFAULT_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Default Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TABLE_SPACE_DEFINITION__EXTENT_SIZE_SUPPORTED">TABLE_SPACE_DEFINITION__EXTENT_SIZE_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Extent Size Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TABLE_SPACE_DEFINITION__MANAGED_BY_SUPPORTED">TABLE_SPACE_DEFINITION__MANAGED_BY_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Managed By Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TABLE_SPACE_DEFINITION__PAGE_SIZE_SUPPORTED">TABLE_SPACE_DEFINITION__PAGE_SIZE_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Page Size Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TABLE_SPACE_DEFINITION__PREFETCH_SIZE_SUPPORTED">TABLE_SPACE_DEFINITION__PREFETCH_SIZE_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Prefetch Size Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TABLE_SPACE_DEFINITION__TABLE_SPACE_TYPE">TABLE_SPACE_DEFINITION__TABLE_SPACE_TYPE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Table Space Type</b></em>' attribute list.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TABLE_SPACE_DEFINITION__TYPE_SUPPORTED">TABLE_SPACE_DEFINITION__TYPE_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Type Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TABLE_SPACE_DEFINITION_FEATURE_COUNT">TABLE_SPACE_DEFINITION_FEATURE_COUNT</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The number of structural features of the the '<em>Table Space Definition</em>' class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TABLE_SPACE_TYPE">TABLE_SPACE_TYPE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceType.html"><CODE><em>Table Space Type</em></CODE></A>' enum.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TRIGGER_DEFINITION">TRIGGER_DEFINITION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/TriggerDefinitionImpl.html"><CODE><em>Trigger Definition</em></CODE></A>' class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TRIGGER_DEFINITION__GRANULARITY_SUPPORTED">TRIGGER_DEFINITION__GRANULARITY_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Granularity Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TRIGGER_DEFINITION__INSTEAD_OF_TRIGGER_SUPPORTED">TRIGGER_DEFINITION__INSTEAD_OF_TRIGGER_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Instead Of Trigger Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TRIGGER_DEFINITION__MAXIMUM_ACTION_BODY_LENGTH">TRIGGER_DEFINITION__MAXIMUM_ACTION_BODY_LENGTH</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Maximum Action Body Length</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TRIGGER_DEFINITION__MAXIMUM_REFERENCE_PART_LENGTH">TRIGGER_DEFINITION__MAXIMUM_REFERENCE_PART_LENGTH</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Maximum Reference Part Length</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TRIGGER_DEFINITION__PER_COLUMN_UPDATE_TRIGGER_SUPPORTED">TRIGGER_DEFINITION__PER_COLUMN_UPDATE_TRIGGER_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Per Column Update Trigger Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TRIGGER_DEFINITION__REFERENCES_CLAUSE_SUPPORTED">TRIGGER_DEFINITION__REFERENCES_CLAUSE_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>References Clause Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TRIGGER_DEFINITION__ROW_TRIGGER_REFERENCE_SUPPORTED">TRIGGER_DEFINITION__ROW_TRIGGER_REFERENCE_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Row Trigger Reference Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TRIGGER_DEFINITION__TABLE_TRIGGER_REFERENCE_SUPPORTED">TRIGGER_DEFINITION__TABLE_TRIGGER_REFERENCE_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Table Trigger Reference Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TRIGGER_DEFINITION__TYPE_SUPPORTED">TRIGGER_DEFINITION__TYPE_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Type Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TRIGGER_DEFINITION__WHEN_CLAUSE_SUPPORTED">TRIGGER_DEFINITION__WHEN_CLAUSE_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>When Clause Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#TRIGGER_DEFINITION_FEATURE_COUNT">TRIGGER_DEFINITION_FEATURE_COUNT</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The number of structural features of the the '<em>Trigger Definition</em>' class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#USER_DEFINED_TYPE_DEFINITION">USER_DEFINED_TYPE_DEFINITION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/UserDefinedTypeDefinitionImpl.html"><CODE><em>User Defined Type Definition</em></CODE></A>' class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#USER_DEFINED_TYPE_DEFINITION__DEFAULT_VALUE_SUPPORTED">USER_DEFINED_TYPE_DEFINITION__DEFAULT_VALUE_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Default Value Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#USER_DEFINED_TYPE_DEFINITION__DISTINCT_TYPE_SUPPORTED">USER_DEFINED_TYPE_DEFINITION__DISTINCT_TYPE_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Distinct Type Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#USER_DEFINED_TYPE_DEFINITION__STRUCTURED_TYPE_SUPPORTED">USER_DEFINED_TYPE_DEFINITION__STRUCTURED_TYPE_SUPPORTED</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The feature id for the '<em><b>Structured Type Supported</b></em>' attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#USER_DEFINED_TYPE_DEFINITION_FEATURE_COUNT">USER_DEFINED_TYPE_DEFINITION_FEATURE_COUNT</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The number of structural features of the the '<em>User Defined Type Definition</em>' class.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->


<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EEnum</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getCheckOption()">getCheckOption</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for enum '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/CheckOption.html"><CODE><em>Check Option</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getColumnDefinition_ComputedSupported()">getColumnDefinition_ComputedSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ColumnDefinition.html#isComputedSupported()"><CODE><em>Computed Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getColumnDefinition_IdentityCycleSupported()">getColumnDefinition_IdentityCycleSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ColumnDefinition.html#isIdentityCycleSupported()"><CODE><em>Identity Cycle Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getColumnDefinition_IdentityIncrementSupported()">getColumnDefinition_IdentityIncrementSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ColumnDefinition.html#isIdentityIncrementSupported()"><CODE><em>Identity Increment Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getColumnDefinition_IdentityMaximumSupported()">getColumnDefinition_IdentityMaximumSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ColumnDefinition.html#isIdentityMaximumSupported()"><CODE><em>Identity Maximum Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getColumnDefinition_IdentityMinimumSupported()">getColumnDefinition_IdentityMinimumSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ColumnDefinition.html#isIdentityMinimumSupported()"><CODE><em>Identity Minimum Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getColumnDefinition_IdentityStartValueSupported()">getColumnDefinition_IdentityStartValueSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ColumnDefinition.html#isIdentityStartValueSupported()"><CODE><em>Identity Start Value Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getColumnDefinition_IdentitySupported()">getColumnDefinition_IdentitySupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ColumnDefinition.html#isIdentitySupported()"><CODE><em>Identity Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EClass</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getColumnDefinition()">getColumnDefinition</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for class '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ColumnDefinition.html"><CODE><em>Column Definition</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getConstraintDefinition_CheckOption()">getConstraintDefinition_CheckOption</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html#getCheckOption()"><CODE><em>Check Option</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getConstraintDefinition_ClusteredPrimaryKeySupported()">getConstraintDefinition_ClusteredPrimaryKeySupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html#isClusteredPrimaryKeySupported()"><CODE><em>Clustered Primary Key Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getConstraintDefinition_ClusteredUniqueConstraintSupported()">getConstraintDefinition_ClusteredUniqueConstraintSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html#isClusteredUniqueConstraintSupported()"><CODE><em>Clustered Unique Constraint Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getConstraintDefinition_DeferrableConstraintSupported()">getConstraintDefinition_DeferrableConstraintSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html#isDeferrableConstraintSupported()"><CODE><em>Deferrable Constraint Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getConstraintDefinition_InformationalConstraintSupported()">getConstraintDefinition_InformationalConstraintSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html#isInformationalConstraintSupported()"><CODE><em>Informational Constraint Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getConstraintDefinition_MaximumCheckExpressionLength()">getConstraintDefinition_MaximumCheckExpressionLength</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html#getMaximumCheckExpressionLength()"><CODE><em>Maximum Check Expression Length</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getConstraintDefinition_ParentDeleteDRIRuleType()">getConstraintDefinition_ParentDeleteDRIRuleType</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html#getParentDeleteDRIRuleType()"><CODE><em>Parent Delete DRI Rule Type</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getConstraintDefinition_ParentUpdateDRIRuleType()">getConstraintDefinition_ParentUpdateDRIRuleType</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html#getParentUpdateDRIRuleType()"><CODE><em>Parent Update DRI Rule Type</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getConstraintDefinition_PrimaryKeyNullable()">getConstraintDefinition_PrimaryKeyNullable</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html#isPrimaryKeyNullable()"><CODE><em>Primary Key Nullable</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getConstraintDefinition_UniqueKeyNullable()">getConstraintDefinition_UniqueKeyNullable</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html#isUniqueKeyNullable()"><CODE><em>Unique Key Nullable</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EClass</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getConstraintDefinition()">getConstraintDefinition</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for class '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html"><CODE><em>Constraint Definition</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionFactory.html">DatabaseDefinitionFactory</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseDefinitionFactory()">getDatabaseDefinitionFactory</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the factory that creates the instances of the model.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition_AliasSupported()">getDatabaseVendorDefinition_AliasSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isAliasSupported()"><CODE><em>Alias Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EReference</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition_ColumnDefinition()">getDatabaseVendorDefinition_ColumnDefinition</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the containment reference '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getColumnDefinition()"><CODE><em>Column Definition</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EReference</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition_ConstraintDefinition()">getDatabaseVendorDefinition_ConstraintDefinition</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the containment reference '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getConstraintDefinition()"><CODE><em>Constraint Definition</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition_ConstraintsSupported()">getDatabaseVendorDefinition_ConstraintsSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isConstraintsSupported()"><CODE><em>Constraints Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition_DomainSupported()">getDatabaseVendorDefinition_DomainSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isDomainSupported()"><CODE><em>Domain Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EReference</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition_ExtendedDefinitions()">getDatabaseVendorDefinition_ExtendedDefinitions</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the containment reference list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getExtendedDefinitions()"><CODE><em>Extended Definitions</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EReference</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition_IndexDefinition()">getDatabaseVendorDefinition_IndexDefinition</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the containment reference '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getIndexDefinition()"><CODE><em>Index Definition</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition_JoinSupported()">getDatabaseVendorDefinition_JoinSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isJoinSupported()"><CODE><em>Join Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition_MaximumCommentLength()">getDatabaseVendorDefinition_MaximumCommentLength</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getMaximumCommentLength()"><CODE><em>Maximum Comment Length</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition_MaximumIdentifierLength()">getDatabaseVendorDefinition_MaximumIdentifierLength</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getMaximumIdentifierLength()"><CODE><em>Maximum Identifier Length</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition_MQTSupported()">getDatabaseVendorDefinition_MQTSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isMQTSupported()"><CODE><em>MQT Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition_NicknameConstraintSupported()">getDatabaseVendorDefinition_NicknameConstraintSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isNicknameConstraintSupported()"><CODE><em>Nickname Constraint Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition_NicknameSupported()">getDatabaseVendorDefinition_NicknameSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isNicknameSupported()"><CODE><em>Nickname Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EReference</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition_PredefinedDataTypeDefinitions()">getDatabaseVendorDefinition_PredefinedDataTypeDefinitions</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the containment reference list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getPredefinedDataTypeDefinitions()"><CODE><em>Predefined Data Type Definitions</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EReference</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition_QueryDefinition()">getDatabaseVendorDefinition_QueryDefinition</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the containment reference '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getQueryDefinition()"><CODE><em>Query Definition</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition_SchemaSupported()">getDatabaseVendorDefinition_SchemaSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isSchemaSupported()"><CODE><em>Schema Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EReference</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition_SequenceDefinition()">getDatabaseVendorDefinition_SequenceDefinition</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the containment reference '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getSequenceDefinition()"><CODE><em>Sequence Definition</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition_SequenceSupported()">getDatabaseVendorDefinition_SequenceSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isSequenceSupported()"><CODE><em>Sequence Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition_SnapshotViewSupported()">getDatabaseVendorDefinition_SnapshotViewSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isSnapshotViewSupported()"><CODE><em>Snapshot View Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition_SQLStatementSupported()">getDatabaseVendorDefinition_SQLStatementSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isSQLStatementSupported()"><CODE><em>SQL Statement Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EReference</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition_SQLSyntaxDefinition()">getDatabaseVendorDefinition_SQLSyntaxDefinition</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the containment reference '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getSQLSyntaxDefinition()"><CODE><em>SQL Syntax Definition</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EReference</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition_StoredProcedureDefinition()">getDatabaseVendorDefinition_StoredProcedureDefinition</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the containment reference '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getStoredProcedureDefinition()"><CODE><em>Stored Procedure Definition</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EReference</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition_TableDefinition()">getDatabaseVendorDefinition_TableDefinition</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the containment reference '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getTableDefinition()"><CODE><em>Table Definition</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EReference</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition_TableSpaceDefinition()">getDatabaseVendorDefinition_TableSpaceDefinition</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the containment reference '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getTableSpaceDefinition()"><CODE><em>Table Space Definition</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition_TablespacesSupported()">getDatabaseVendorDefinition_TablespacesSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isTablespacesSupported()"><CODE><em>Tablespaces Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EReference</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition_TriggerDefinition()">getDatabaseVendorDefinition_TriggerDefinition</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the containment reference '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getTriggerDefinition()"><CODE><em>Trigger Definition</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition_TriggerSupported()">getDatabaseVendorDefinition_TriggerSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isTriggerSupported()"><CODE><em>Trigger Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EReference</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition_UdtDefinition()">getDatabaseVendorDefinition_UdtDefinition</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the containment reference '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getUdtDefinition()"><CODE><em>Udt Definition</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition_UserDefinedTypeSupported()">getDatabaseVendorDefinition_UserDefinedTypeSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isUserDefinedTypeSupported()"><CODE><em>User Defined Type Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition_Vendor()">getDatabaseVendorDefinition_Vendor</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getVendor()"><CODE><em>Vendor</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition_Version()">getDatabaseVendorDefinition_Version</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getVersion()"><CODE><em>Version</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition_ViewTriggerSupported()">getDatabaseVendorDefinition_ViewTriggerSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isViewTriggerSupported()"><CODE><em>View Trigger Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EClass</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()">getDatabaseVendorDefinition</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for class '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html"><CODE><em>Database Vendor Definition</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EEnum</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDefaultValueType()">getDefaultValueType</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for enum '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DefaultValueType.html"><CODE><em>Default Value Type</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getExtendedDefinition_Name()">getExtendedDefinition_Name</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ExtendedDefinition.html#getName()"><CODE><em>Name</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getExtendedDefinition_Value()">getExtendedDefinition_Value</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ExtendedDefinition.html#getValue()"><CODE><em>Value</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EClass</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getExtendedDefinition()">getExtendedDefinition</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for class '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ExtendedDefinition.html"><CODE><em>Extended Definition</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getIndexDefinition_ClusterChangeable()">getIndexDefinition_ClusterChangeable</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/IndexDefinition.html#isClusterChangeable()"><CODE><em>Cluster Changeable</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getIndexDefinition_ClusteringSupported()">getIndexDefinition_ClusteringSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/IndexDefinition.html#isClusteringSupported()"><CODE><em>Clustering Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getIndexDefinition_FillFactorSupported()">getIndexDefinition_FillFactorSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/IndexDefinition.html#isFillFactorSupported()"><CODE><em>Fill Factor Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getIndexDefinition_IncludedColumnsSupported()">getIndexDefinition_IncludedColumnsSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/IndexDefinition.html#isIncludedColumnsSupported()"><CODE><em>Included Columns Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getIndexDefinition_PercentFreeChangeable()">getIndexDefinition_PercentFreeChangeable</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/IndexDefinition.html#isPercentFreeChangeable()"><CODE><em>Percent Free Changeable</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getIndexDefinition_PercentFreeTerminology()">getIndexDefinition_PercentFreeTerminology</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/IndexDefinition.html#getPercentFreeTerminology()"><CODE><em>Percent Free Terminology</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EClass</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getIndexDefinition()">getIndexDefinition</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for class '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/IndexDefinition.html"><CODE><em>Index Definition</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EEnum</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getLanguageType()">getLanguageType</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for enum '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/LanguageType.html"><CODE><em>Language Type</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EEnum</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getParameterStyle()">getParameterStyle</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for enum '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ParameterStyle.html"><CODE><em>Parameter Style</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EEnum</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getParentDeleteDRIRuleType()">getParentDeleteDRIRuleType</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for enum '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ParentDeleteDRIRuleType.html"><CODE><em>Parent Delete DRI Rule Type</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EEnum</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getParentUpdateDRIRuleType()">getParentUpdateDRIRuleType</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for enum '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ParentUpdateDRIRuleType.html"><CODE><em>Parent Update DRI Rule Type</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EEnum</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPercentFreeTerminology()">getPercentFreeTerminology</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for enum '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PercentFreeTerminology.html"><CODE><em>Percent Free Terminology</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition_BitDataSupported()">getPredefinedDataTypeDefinition_BitDataSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isBitDataSupported()"><CODE><em>Bit Data Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition_CharacterSet()">getPredefinedDataTypeDefinition_CharacterSet</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getCharacterSet()"><CODE><em>Character Set</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition_CharacterSetSuffix()">getPredefinedDataTypeDefinition_CharacterSetSuffix</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getCharacterSetSuffix()"><CODE><em>Character Set Suffix</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition_ClusteringSupported()">getPredefinedDataTypeDefinition_ClusteringSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isClusteringSupported()"><CODE><em>Clustering Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition_DefaultLength()">getPredefinedDataTypeDefinition_DefaultLength</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getDefaultLength()"><CODE><em>Default Length</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition_DefaultSupported()">getPredefinedDataTypeDefinition_DefaultSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isDefaultSupported()"><CODE><em>Default Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition_DefaultValueTypes()">getPredefinedDataTypeDefinition_DefaultValueTypes</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getDefaultValueTypes()"><CODE><em>Default Value Types</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition_EncodingScheme()">getPredefinedDataTypeDefinition_EncodingScheme</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getEncodingScheme()"><CODE><em>Encoding Scheme</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition_EncodingSchemeSuffix()">getPredefinedDataTypeDefinition_EncodingSchemeSuffix</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getEncodingSchemeSuffix()"><CODE><em>Encoding Scheme Suffix</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition_FillFactorSupported()">getPredefinedDataTypeDefinition_FillFactorSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isFillFactorSupported()"><CODE><em>Fill Factor Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition_FormatterClassName()">getPredefinedDataTypeDefinition_FormatterClassName</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getFormatterClassName()"><CODE><em>Formatter Class Name</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition_IdentitySupported()">getPredefinedDataTypeDefinition_IdentitySupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isIdentitySupported()"><CODE><em>Identity Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition_JavaClassName()">getPredefinedDataTypeDefinition_JavaClassName</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getJavaClassName()"><CODE><em>Java Class Name</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition_JdbcEnumType()">getPredefinedDataTypeDefinition_JdbcEnumType</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getJdbcEnumType()"><CODE><em>Jdbc Enum Type</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition_KeyConstraintSupported()">getPredefinedDataTypeDefinition_KeyConstraintSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isKeyConstraintSupported()"><CODE><em>Key Constraint Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition_LengthSupported()">getPredefinedDataTypeDefinition_LengthSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isLengthSupported()"><CODE><em>Length Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition_MaximumLength()">getPredefinedDataTypeDefinition_MaximumLength</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getMaximumLength()"><CODE><em>Maximum Length</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition_MaximumPrecision()">getPredefinedDataTypeDefinition_MaximumPrecision</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getMaximumPrecision()"><CODE><em>Maximum Precision</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition_MaximumScale()">getPredefinedDataTypeDefinition_MaximumScale</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getMaximumScale()"><CODE><em>Maximum Scale</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition_MaximumValue()">getPredefinedDataTypeDefinition_MaximumValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getMaximumValue()"><CODE><em>Maximum Value</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition_MinimumScale()">getPredefinedDataTypeDefinition_MinimumScale</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getMinimumScale()"><CODE><em>Minimum Scale</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition_MinimumValue()">getPredefinedDataTypeDefinition_MinimumValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getMinimumValue()"><CODE><em>Minimum Value</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition_MultipleColumnsSupported()">getPredefinedDataTypeDefinition_MultipleColumnsSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isMultipleColumnsSupported()"><CODE><em>Multiple Columns Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition_Name()">getPredefinedDataTypeDefinition_Name</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getName()"><CODE><em>Name</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition_NullableSupported()">getPredefinedDataTypeDefinition_NullableSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isNullableSupported()"><CODE><em>Nullable Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition_PrecisionSupported()">getPredefinedDataTypeDefinition_PrecisionSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isPrecisionSupported()"><CODE><em>Precision Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition_PrimitiveType()">getPredefinedDataTypeDefinition_PrimitiveType</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getPrimitiveType()"><CODE><em>Primitive Type</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition_ScaleSupported()">getPredefinedDataTypeDefinition_ScaleSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isScaleSupported()"><CODE><em>Scale Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EClass</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition()">getPredefinedDataTypeDefinition</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for class '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html"><CODE><em>Predefined Data Type Definition</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EEnum</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getProcedureType()">getProcedureType</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for enum '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ProcedureType.html"><CODE><em>Procedure Type</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getQueryDefinition_CastExpressionSupported()">getQueryDefinition_CastExpressionSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/QueryDefinition.html#isCastExpressionSupported()"><CODE><em>Cast Expression Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getQueryDefinition_DefaultKeywordForInsertValueSupported()">getQueryDefinition_DefaultKeywordForInsertValueSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/QueryDefinition.html#isDefaultKeywordForInsertValueSupported()"><CODE><em>Default Keyword For Insert Value Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getQueryDefinition_ExtendedGroupingSupported()">getQueryDefinition_ExtendedGroupingSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/QueryDefinition.html#isExtendedGroupingSupported()"><CODE><em>Extended Grouping Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getQueryDefinition_HostVariableMarker()">getQueryDefinition_HostVariableMarker</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/QueryDefinition.html#getHostVariableMarker()"><CODE><em>Host Variable Marker</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getQueryDefinition_HostVariableMarkerSupported()">getQueryDefinition_HostVariableMarkerSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/QueryDefinition.html#isHostVariableMarkerSupported()"><CODE><em>Host Variable Marker Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getQueryDefinition_IdentifierQuoteString()">getQueryDefinition_IdentifierQuoteString</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/QueryDefinition.html#getIdentifierQuoteString()"><CODE><em>Identifier Quote String</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getQueryDefinition_TableAliasInDeleteSupported()">getQueryDefinition_TableAliasInDeleteSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/QueryDefinition.html#isTableAliasInDeleteSupported()"><CODE><em>Table Alias In Delete Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EClass</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getQueryDefinition()">getQueryDefinition</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for class '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/QueryDefinition.html"><CODE><em>Query Definition</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getSequenceDefinition_CacheDefaultValue()">getSequenceDefinition_CacheDefaultValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SequenceDefinition.html#getCacheDefaultValue()"><CODE><em>Cache Default Value</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getSequenceDefinition_CacheSupported()">getSequenceDefinition_CacheSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SequenceDefinition.html#isCacheSupported()"><CODE><em>Cache Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EReference</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getSequenceDefinition_DefaultDataTypeDefinition()">getSequenceDefinition_DefaultDataTypeDefinition</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the reference '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SequenceDefinition.html#getDefaultDataTypeDefinition()"><CODE><em>Default Data Type Definition</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getSequenceDefinition_NoCacheString()">getSequenceDefinition_NoCacheString</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SequenceDefinition.html#getNoCacheString()"><CODE><em>No Cache String</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getSequenceDefinition_NoMaximumValueString()">getSequenceDefinition_NoMaximumValueString</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SequenceDefinition.html#getNoMaximumValueString()"><CODE><em>No Maximum Value String</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getSequenceDefinition_NoMinimumValueString()">getSequenceDefinition_NoMinimumValueString</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SequenceDefinition.html#getNoMinimumValueString()"><CODE><em>No Minimum Value String</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getSequenceDefinition_OrderSupported()">getSequenceDefinition_OrderSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SequenceDefinition.html#isOrderSupported()"><CODE><em>Order Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EReference</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getSequenceDefinition_PredefinedDataTypeDefinitions()">getSequenceDefinition_PredefinedDataTypeDefinitions</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the reference list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SequenceDefinition.html#getPredefinedDataTypeDefinitions()"><CODE><em>Predefined Data Type Definitions</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getSequenceDefinition_TypeEnumerationSupported()">getSequenceDefinition_TypeEnumerationSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SequenceDefinition.html#isTypeEnumerationSupported()"><CODE><em>Type Enumeration Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EClass</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getSequenceDefinition()">getSequenceDefinition</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for class '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SequenceDefinition.html"><CODE><em>Sequence Definition</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getSQLSyntaxDefinition_Keywords()">getSQLSyntaxDefinition_Keywords</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SQLSyntaxDefinition.html#getKeywords()"><CODE><em>Keywords</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getSQLSyntaxDefinition_Operators()">getSQLSyntaxDefinition_Operators</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SQLSyntaxDefinition.html#getOperators()"><CODE><em>Operators</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EClass</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getSQLSyntaxDefinition()">getSQLSyntaxDefinition</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for class '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SQLSyntaxDefinition.html"><CODE><em>SQL Syntax Definition</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getStoredProcedureDefinition_DetermininsticSupported()">getStoredProcedureDefinition_DetermininsticSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#isDetermininsticSupported()"><CODE><em>Determininstic Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getStoredProcedureDefinition_FunctionLanguageType()">getStoredProcedureDefinition_FunctionLanguageType</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#getFunctionLanguageType()"><CODE><em>Function Language Type</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getStoredProcedureDefinition_LanguageType()">getStoredProcedureDefinition_LanguageType</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#getLanguageType()"><CODE><em>Language Type</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getStoredProcedureDefinition_MaximumActionBodyLength()">getStoredProcedureDefinition_MaximumActionBodyLength</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#getMaximumActionBodyLength()"><CODE><em>Maximum Action Body Length</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getStoredProcedureDefinition_NullInputActionSupported()">getStoredProcedureDefinition_NullInputActionSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#isNullInputActionSupported()"><CODE><em>Null Input Action Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getStoredProcedureDefinition_PackageGenerationSupported()">getStoredProcedureDefinition_PackageGenerationSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#isPackageGenerationSupported()"><CODE><em>Package Generation Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getStoredProcedureDefinition_ParameterDeclarationConstraintSupported()">getStoredProcedureDefinition_ParameterDeclarationConstraintSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#isParameterDeclarationConstraintSupported()"><CODE><em>Parameter Declaration Constraint Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getStoredProcedureDefinition_ParameterInitValueSupported()">getStoredProcedureDefinition_ParameterInitValueSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#isParameterInitValueSupported()"><CODE><em>Parameter Init Value Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getStoredProcedureDefinition_ParameterStyle()">getStoredProcedureDefinition_ParameterStyle</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#getParameterStyle()"><CODE><em>Parameter Style</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getStoredProcedureDefinition_ParameterStyleSupported()">getStoredProcedureDefinition_ParameterStyleSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#isParameterStyleSupported()"><CODE><em>Parameter Style Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getStoredProcedureDefinition_ProcedureType()">getStoredProcedureDefinition_ProcedureType</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#getProcedureType()"><CODE><em>Procedure Type</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getStoredProcedureDefinition_ReturnedNullSupported()">getStoredProcedureDefinition_ReturnedNullSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#isReturnedNullSupported()"><CODE><em>Returned Null Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getStoredProcedureDefinition_ReturnedTypeDeclarationConstraintSupported()">getStoredProcedureDefinition_ReturnedTypeDeclarationConstraintSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#isReturnedTypeDeclarationConstraintSupported()"><CODE><em>Returned Type Declaration Constraint Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getStoredProcedureDefinition_ReturnTypeSupported()">getStoredProcedureDefinition_ReturnTypeSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#isReturnTypeSupported()"><CODE><em>Return Type Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EClass</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getStoredProcedureDefinition()">getStoredProcedureDefinition</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for class '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html"><CODE><em>Stored Procedure Definition</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableDefinition_AuditSupported()">getTableDefinition_AuditSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableDefinition.html#isAuditSupported()"><CODE><em>Audit Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableDefinition_DataCaptureSupported()">getTableDefinition_DataCaptureSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableDefinition.html#isDataCaptureSupported()"><CODE><em>Data Capture Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableDefinition_EditProcSupported()">getTableDefinition_EditProcSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableDefinition.html#isEditProcSupported()"><CODE><em>Edit Proc Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableDefinition_EncodingSupported()">getTableDefinition_EncodingSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableDefinition.html#isEncodingSupported()"><CODE><em>Encoding Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableDefinition_ValidProcSupported()">getTableDefinition_ValidProcSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableDefinition.html#isValidProcSupported()"><CODE><em>Valid Proc Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EClass</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableDefinition()">getTableDefinition</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for class '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableDefinition.html"><CODE><em>Table Definition</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableSpaceDefinition_BufferPoolSupported()">getTableSpaceDefinition_BufferPoolSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#isBufferPoolSupported()"><CODE><em>Buffer Pool Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableSpaceDefinition_ContainerExtentSizeSupported()">getTableSpaceDefinition_ContainerExtentSizeSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#isContainerExtentSizeSupported()"><CODE><em>Container Extent Size Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableSpaceDefinition_ContainerInitialSizeSupported()">getTableSpaceDefinition_ContainerInitialSizeSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#isContainerInitialSizeSupported()"><CODE><em>Container Initial Size Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableSpaceDefinition_ContainerMaximumSizeSupported()">getTableSpaceDefinition_ContainerMaximumSizeSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#isContainerMaximumSizeSupported()"><CODE><em>Container Maximum Size Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableSpaceDefinition_DefaultSupported()">getTableSpaceDefinition_DefaultSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#isDefaultSupported()"><CODE><em>Default Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableSpaceDefinition_ExtentSizeSupported()">getTableSpaceDefinition_ExtentSizeSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#isExtentSizeSupported()"><CODE><em>Extent Size Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableSpaceDefinition_ManagedBySupported()">getTableSpaceDefinition_ManagedBySupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#isManagedBySupported()"><CODE><em>Managed By Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableSpaceDefinition_PageSizeSupported()">getTableSpaceDefinition_PageSizeSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#isPageSizeSupported()"><CODE><em>Page Size Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableSpaceDefinition_PrefetchSizeSupported()">getTableSpaceDefinition_PrefetchSizeSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#isPrefetchSizeSupported()"><CODE><em>Prefetch Size Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableSpaceDefinition_TableSpaceType()">getTableSpaceDefinition_TableSpaceType</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#getTableSpaceType()"><CODE><em>Table Space Type</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableSpaceDefinition_TypeSupported()">getTableSpaceDefinition_TypeSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#isTypeSupported()"><CODE><em>Type Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EClass</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableSpaceDefinition()">getTableSpaceDefinition</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for class '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html"><CODE><em>Table Space Definition</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EEnum</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableSpaceType()">getTableSpaceType</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for enum '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceType.html"><CODE><em>Table Space Type</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTriggerDefinition_GranularitySupported()">getTriggerDefinition_GranularitySupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html#isGranularitySupported()"><CODE><em>Granularity Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTriggerDefinition_InsteadOfTriggerSupported()">getTriggerDefinition_InsteadOfTriggerSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html#isInsteadOfTriggerSupported()"><CODE><em>Instead Of Trigger Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTriggerDefinition_MaximumActionBodyLength()">getTriggerDefinition_MaximumActionBodyLength</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html#getMaximumActionBodyLength()"><CODE><em>Maximum Action Body Length</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTriggerDefinition_MaximumReferencePartLength()">getTriggerDefinition_MaximumReferencePartLength</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html#getMaximumReferencePartLength()"><CODE><em>Maximum Reference Part Length</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTriggerDefinition_PerColumnUpdateTriggerSupported()">getTriggerDefinition_PerColumnUpdateTriggerSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html#isPerColumnUpdateTriggerSupported()"><CODE><em>Per Column Update Trigger Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTriggerDefinition_ReferencesClauseSupported()">getTriggerDefinition_ReferencesClauseSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html#isReferencesClauseSupported()"><CODE><em>References Clause Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTriggerDefinition_RowTriggerReferenceSupported()">getTriggerDefinition_RowTriggerReferenceSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html#isRowTriggerReferenceSupported()"><CODE><em>Row Trigger Reference Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTriggerDefinition_TableTriggerReferenceSupported()">getTriggerDefinition_TableTriggerReferenceSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html#isTableTriggerReferenceSupported()"><CODE><em>Table Trigger Reference Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTriggerDefinition_TypeSupported()">getTriggerDefinition_TypeSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html#isTypeSupported()"><CODE><em>Type Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTriggerDefinition_WhenClauseSupported()">getTriggerDefinition_WhenClauseSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html#isWhenClauseSupported()"><CODE><em>When Clause Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EClass</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTriggerDefinition()">getTriggerDefinition</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for class '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html"><CODE><em>Trigger Definition</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getUserDefinedTypeDefinition_DefaultValueSupported()">getUserDefinedTypeDefinition_DefaultValueSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/UserDefinedTypeDefinition.html#isDefaultValueSupported()"><CODE><em>Default Value Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getUserDefinedTypeDefinition_DistinctTypeSupported()">getUserDefinedTypeDefinition_DistinctTypeSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/UserDefinedTypeDefinition.html#isDistinctTypeSupported()"><CODE><em>Distinct Type Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EAttribute</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getUserDefinedTypeDefinition_StructuredTypeSupported()">getUserDefinedTypeDefinition_StructuredTypeSupported</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/UserDefinedTypeDefinition.html#isStructuredTypeSupported()"><CODE><em>Structured Type Supported</em></CODE></A>'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.eclipse.emf.ecore.EClass</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getUserDefinedTypeDefinition()">getUserDefinedTypeDefinition</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the meta object for class '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/UserDefinedTypeDefinition.html"><CODE><em>User Defined Type Definition</em></CODE></A>'.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.eclipse.emf.ecore.EPackage"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from interface org.eclipse.emf.ecore.EPackage</B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>getEClassifier, getEClassifiers, getEFactoryInstance, getESubpackages, getESuperPackage, getNsPrefix, getNsURI, setEFactoryInstance, setNsPrefix, setNsURI</CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.eclipse.emf.ecore.ENamedElement"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from interface org.eclipse.emf.ecore.ENamedElement</B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>getName, setName</CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.eclipse.emf.ecore.EModelElement"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from interface org.eclipse.emf.ecore.EModelElement</B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>getEAnnotation, getEAnnotations</CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.eclipse.emf.ecore.EObject"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from interface org.eclipse.emf.ecore.EObject</B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eIsProxy, eIsSet, eResource, eSet, eUnset</CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.eclipse.emf.common.notify.Notifier"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from interface org.eclipse.emf.common.notify.Notifier</B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>eAdapters, eDeliver, eNotify, eSetDeliver</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ FIELD DETAIL =========== -->

<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Field Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="eNAME"><!-- --></A><H3>
eNAME</H3>
<PRE>
public static final java.lang.String <B>eNAME</B></PRE>
<DL>
<DD>The package name.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="eNS_URI"><!-- --></A><H3>
eNS_URI</H3>
<PRE>
public static final java.lang.String <B>eNS_URI</B></PRE>
<DL>
<DD>The package namespace URI.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="eNS_PREFIX"><!-- --></A><H3>
eNS_PREFIX</H3>
<PRE>
public static final java.lang.String <B>eNS_PREFIX</B></PRE>
<DL>
<DD>The package namespace name.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="eINSTANCE"><!-- --></A><H3>
eINSTANCE</H3>
<PRE>
public static final <A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html">DatabaseDefinitionPackage</A> <B>eINSTANCE</B></PRE>
<DL>
<DD>The singleton instance of the package.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION</B></PRE>
<DL>
<DD>The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/DatabaseVendorDefinitionImpl.html"><CODE><em>Database Vendor Definition</em></CODE></A>' class.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/DatabaseVendorDefinitionImpl.html"><CODE>DatabaseVendorDefinitionImpl</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/DatabaseDefinitionPackageImpl.html#getDatabaseVendorDefinition()"><CODE>DatabaseDefinitionPackageImpl.getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION__PREDEFINED_DATA_TYPE_DEFINITIONS"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION__PREDEFINED_DATA_TYPE_DEFINITIONS</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION__PREDEFINED_DATA_TYPE_DEFINITIONS</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Predefined Data Type Definitions</b></em>' containment reference list.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION__TABLE_SPACE_DEFINITION"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION__TABLE_SPACE_DEFINITION</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION__TABLE_SPACE_DEFINITION</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Table Space Definition</b></em>' containment reference.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION__STORED_PROCEDURE_DEFINITION"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION__STORED_PROCEDURE_DEFINITION</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION__STORED_PROCEDURE_DEFINITION</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Stored Procedure Definition</b></em>' containment reference.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION__TRIGGER_DEFINITION"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION__TRIGGER_DEFINITION</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION__TRIGGER_DEFINITION</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Trigger Definition</b></em>' containment reference.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION__COLUMN_DEFINITION"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION__COLUMN_DEFINITION</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION__COLUMN_DEFINITION</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Column Definition</b></em>' containment reference.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION__CONSTRAINT_DEFINITION"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION__CONSTRAINT_DEFINITION</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION__CONSTRAINT_DEFINITION</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Constraint Definition</b></em>' containment reference.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION__EXTENDED_DEFINITIONS"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION__EXTENDED_DEFINITIONS</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION__EXTENDED_DEFINITIONS</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Extended Definitions</b></em>' containment reference list.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION__INDEX_DEFINITION"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION__INDEX_DEFINITION</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION__INDEX_DEFINITION</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Index Definition</b></em>' containment reference.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION__TABLE_DEFINITION"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION__TABLE_DEFINITION</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION__TABLE_DEFINITION</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Table Definition</b></em>' containment reference.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION__SEQUENCE_DEFINITION"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION__SEQUENCE_DEFINITION</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION__SEQUENCE_DEFINITION</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Sequence Definition</b></em>' containment reference.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION__UDT_DEFINITION"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION__UDT_DEFINITION</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION__UDT_DEFINITION</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Udt Definition</b></em>' containment reference.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION__QUERY_DEFINITION"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION__QUERY_DEFINITION</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION__QUERY_DEFINITION</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Query Definition</b></em>' containment reference.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION__SQL_SYNTAX_DEFINITION"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION__SQL_SYNTAX_DEFINITION</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION__SQL_SYNTAX_DEFINITION</B></PRE>
<DL>
<DD>The feature id for the '<em><b>SQL Syntax Definition</b></em>' containment reference.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION__VENDOR"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION__VENDOR</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION__VENDOR</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Vendor</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION__VERSION"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION__VERSION</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION__VERSION</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Version</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION__CONSTRAINTS_SUPPORTED"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION__CONSTRAINTS_SUPPORTED</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION__CONSTRAINTS_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Constraints Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION__MAXIMUM_IDENTIFIER_LENGTH"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION__MAXIMUM_IDENTIFIER_LENGTH</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION__MAXIMUM_IDENTIFIER_LENGTH</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Maximum Identifier Length</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION__TRIGGER_SUPPORTED"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION__TRIGGER_SUPPORTED</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION__TRIGGER_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Trigger Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION__SNAPSHOT_VIEW_SUPPORTED"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION__SNAPSHOT_VIEW_SUPPORTED</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION__SNAPSHOT_VIEW_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Snapshot View Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION__JOIN_SUPPORTED"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION__JOIN_SUPPORTED</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION__JOIN_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Join Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION__VIEW_TRIGGER_SUPPORTED"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION__VIEW_TRIGGER_SUPPORTED</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION__VIEW_TRIGGER_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>View Trigger Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION__TABLESPACES_SUPPORTED"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION__TABLESPACES_SUPPORTED</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION__TABLESPACES_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Tablespaces Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION__MAXIMUM_COMMENT_LENGTH"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION__MAXIMUM_COMMENT_LENGTH</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION__MAXIMUM_COMMENT_LENGTH</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Maximum Comment Length</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION__SEQUENCE_SUPPORTED"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION__SEQUENCE_SUPPORTED</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION__SEQUENCE_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Sequence Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION__MQT_SUPPORTED"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION__MQT_SUPPORTED</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION__MQT_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>MQT Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION__SCHEMA_SUPPORTED"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION__SCHEMA_SUPPORTED</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION__SCHEMA_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Schema Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION__ALIAS_SUPPORTED"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION__ALIAS_SUPPORTED</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION__ALIAS_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Alias Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION__USER_DEFINED_TYPE_SUPPORTED"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION__USER_DEFINED_TYPE_SUPPORTED</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION__USER_DEFINED_TYPE_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>User Defined Type Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION__DOMAIN_SUPPORTED"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION__DOMAIN_SUPPORTED</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION__DOMAIN_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Domain Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION__SQL_STATEMENT_SUPPORTED"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION__SQL_STATEMENT_SUPPORTED</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION__SQL_STATEMENT_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>SQL Statement Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION__NICKNAME_SUPPORTED"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION__NICKNAME_SUPPORTED</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION__NICKNAME_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Nickname Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION__NICKNAME_CONSTRAINT_SUPPORTED"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION__NICKNAME_CONSTRAINT_SUPPORTED</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION__NICKNAME_CONSTRAINT_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Nickname Constraint Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="DATABASE_VENDOR_DEFINITION_FEATURE_COUNT"><!-- --></A><H3>
DATABASE_VENDOR_DEFINITION_FEATURE_COUNT</H3>
<PRE>
public static final int <B>DATABASE_VENDOR_DEFINITION_FEATURE_COUNT</B></PRE>
<DL>
<DD>The number of structural features of the the '<em>Database Vendor Definition</em>' class.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="PREDEFINED_DATA_TYPE_DEFINITION"><!-- --></A><H3>
PREDEFINED_DATA_TYPE_DEFINITION</H3>
<PRE>
public static final int <B>PREDEFINED_DATA_TYPE_DEFINITION</B></PRE>
<DL>
<DD>The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/PredefinedDataTypeDefinitionImpl.html"><CODE><em>Predefined Data Type Definition</em></CODE></A>' class.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/PredefinedDataTypeDefinitionImpl.html"><CODE>PredefinedDataTypeDefinitionImpl</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/DatabaseDefinitionPackageImpl.html#getPredefinedDataTypeDefinition()"><CODE>DatabaseDefinitionPackageImpl.getPredefinedDataTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="PREDEFINED_DATA_TYPE_DEFINITION__FORMATTER_CLASS_NAME"><!-- --></A><H3>
PREDEFINED_DATA_TYPE_DEFINITION__FORMATTER_CLASS_NAME</H3>
<PRE>
public static final int <B>PREDEFINED_DATA_TYPE_DEFINITION__FORMATTER_CLASS_NAME</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Formatter Class Name</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="PREDEFINED_DATA_TYPE_DEFINITION__LENGTH_SUPPORTED"><!-- --></A><H3>
PREDEFINED_DATA_TYPE_DEFINITION__LENGTH_SUPPORTED</H3>
<PRE>
public static final int <B>PREDEFINED_DATA_TYPE_DEFINITION__LENGTH_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Length Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="PREDEFINED_DATA_TYPE_DEFINITION__SCALE_SUPPORTED"><!-- --></A><H3>
PREDEFINED_DATA_TYPE_DEFINITION__SCALE_SUPPORTED</H3>
<PRE>
public static final int <B>PREDEFINED_DATA_TYPE_DEFINITION__SCALE_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Scale Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="PREDEFINED_DATA_TYPE_DEFINITION__PRECISION_SUPPORTED"><!-- --></A><H3>
PREDEFINED_DATA_TYPE_DEFINITION__PRECISION_SUPPORTED</H3>
<PRE>
public static final int <B>PREDEFINED_DATA_TYPE_DEFINITION__PRECISION_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Precision Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="PREDEFINED_DATA_TYPE_DEFINITION__KEY_CONSTRAINT_SUPPORTED"><!-- --></A><H3>
PREDEFINED_DATA_TYPE_DEFINITION__KEY_CONSTRAINT_SUPPORTED</H3>
<PRE>
public static final int <B>PREDEFINED_DATA_TYPE_DEFINITION__KEY_CONSTRAINT_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Key Constraint Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="PREDEFINED_DATA_TYPE_DEFINITION__IDENTITY_SUPPORTED"><!-- --></A><H3>
PREDEFINED_DATA_TYPE_DEFINITION__IDENTITY_SUPPORTED</H3>
<PRE>
public static final int <B>PREDEFINED_DATA_TYPE_DEFINITION__IDENTITY_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Identity Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="PREDEFINED_DATA_TYPE_DEFINITION__MULTIPLE_COLUMNS_SUPPORTED"><!-- --></A><H3>
PREDEFINED_DATA_TYPE_DEFINITION__MULTIPLE_COLUMNS_SUPPORTED</H3>
<PRE>
public static final int <B>PREDEFINED_DATA_TYPE_DEFINITION__MULTIPLE_COLUMNS_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Multiple Columns Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="PREDEFINED_DATA_TYPE_DEFINITION__NULLABLE_SUPPORTED"><!-- --></A><H3>
PREDEFINED_DATA_TYPE_DEFINITION__NULLABLE_SUPPORTED</H3>
<PRE>
public static final int <B>PREDEFINED_DATA_TYPE_DEFINITION__NULLABLE_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Nullable Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="PREDEFINED_DATA_TYPE_DEFINITION__DEFAULT_SUPPORTED"><!-- --></A><H3>
PREDEFINED_DATA_TYPE_DEFINITION__DEFAULT_SUPPORTED</H3>
<PRE>
public static final int <B>PREDEFINED_DATA_TYPE_DEFINITION__DEFAULT_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Default Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="PREDEFINED_DATA_TYPE_DEFINITION__CLUSTERING_SUPPORTED"><!-- --></A><H3>
PREDEFINED_DATA_TYPE_DEFINITION__CLUSTERING_SUPPORTED</H3>
<PRE>
public static final int <B>PREDEFINED_DATA_TYPE_DEFINITION__CLUSTERING_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Clustering Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="PREDEFINED_DATA_TYPE_DEFINITION__FILL_FACTOR_SUPPORTED"><!-- --></A><H3>
PREDEFINED_DATA_TYPE_DEFINITION__FILL_FACTOR_SUPPORTED</H3>
<PRE>
public static final int <B>PREDEFINED_DATA_TYPE_DEFINITION__FILL_FACTOR_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Fill Factor Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="PREDEFINED_DATA_TYPE_DEFINITION__BIT_DATA_SUPPORTED"><!-- --></A><H3>
PREDEFINED_DATA_TYPE_DEFINITION__BIT_DATA_SUPPORTED</H3>
<PRE>
public static final int <B>PREDEFINED_DATA_TYPE_DEFINITION__BIT_DATA_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Bit Data Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="PREDEFINED_DATA_TYPE_DEFINITION__MAXIMUM_VALUE"><!-- --></A><H3>
PREDEFINED_DATA_TYPE_DEFINITION__MAXIMUM_VALUE</H3>
<PRE>
public static final int <B>PREDEFINED_DATA_TYPE_DEFINITION__MAXIMUM_VALUE</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Maximum Value</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="PREDEFINED_DATA_TYPE_DEFINITION__MINIMUM_VALUE"><!-- --></A><H3>
PREDEFINED_DATA_TYPE_DEFINITION__MINIMUM_VALUE</H3>
<PRE>
public static final int <B>PREDEFINED_DATA_TYPE_DEFINITION__MINIMUM_VALUE</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Minimum Value</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="PREDEFINED_DATA_TYPE_DEFINITION__MAXIMUM_LENGTH"><!-- --></A><H3>
PREDEFINED_DATA_TYPE_DEFINITION__MAXIMUM_LENGTH</H3>
<PRE>
public static final int <B>PREDEFINED_DATA_TYPE_DEFINITION__MAXIMUM_LENGTH</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Maximum Length</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="PREDEFINED_DATA_TYPE_DEFINITION__MAXIMUM_PRECISION"><!-- --></A><H3>
PREDEFINED_DATA_TYPE_DEFINITION__MAXIMUM_PRECISION</H3>
<PRE>
public static final int <B>PREDEFINED_DATA_TYPE_DEFINITION__MAXIMUM_PRECISION</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Maximum Precision</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="PREDEFINED_DATA_TYPE_DEFINITION__MAXIMUM_SCALE"><!-- --></A><H3>
PREDEFINED_DATA_TYPE_DEFINITION__MAXIMUM_SCALE</H3>
<PRE>
public static final int <B>PREDEFINED_DATA_TYPE_DEFINITION__MAXIMUM_SCALE</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Maximum Scale</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="PREDEFINED_DATA_TYPE_DEFINITION__MINIMUM_SCALE"><!-- --></A><H3>
PREDEFINED_DATA_TYPE_DEFINITION__MINIMUM_SCALE</H3>
<PRE>
public static final int <B>PREDEFINED_DATA_TYPE_DEFINITION__MINIMUM_SCALE</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Minimum Scale</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="PREDEFINED_DATA_TYPE_DEFINITION__DEFAULT_VALUE_TYPES"><!-- --></A><H3>
PREDEFINED_DATA_TYPE_DEFINITION__DEFAULT_VALUE_TYPES</H3>
<PRE>
public static final int <B>PREDEFINED_DATA_TYPE_DEFINITION__DEFAULT_VALUE_TYPES</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Default Value Types</b></em>' attribute list.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="PREDEFINED_DATA_TYPE_DEFINITION__PRIMITIVE_TYPE"><!-- --></A><H3>
PREDEFINED_DATA_TYPE_DEFINITION__PRIMITIVE_TYPE</H3>
<PRE>
public static final int <B>PREDEFINED_DATA_TYPE_DEFINITION__PRIMITIVE_TYPE</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Primitive Type</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="PREDEFINED_DATA_TYPE_DEFINITION__NAME"><!-- --></A><H3>
PREDEFINED_DATA_TYPE_DEFINITION__NAME</H3>
<PRE>
public static final int <B>PREDEFINED_DATA_TYPE_DEFINITION__NAME</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Name</b></em>' attribute list.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="PREDEFINED_DATA_TYPE_DEFINITION__JDBC_ENUM_TYPE"><!-- --></A><H3>
PREDEFINED_DATA_TYPE_DEFINITION__JDBC_ENUM_TYPE</H3>
<PRE>
public static final int <B>PREDEFINED_DATA_TYPE_DEFINITION__JDBC_ENUM_TYPE</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Jdbc Enum Type</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="PREDEFINED_DATA_TYPE_DEFINITION__CHARACTER_SET"><!-- --></A><H3>
PREDEFINED_DATA_TYPE_DEFINITION__CHARACTER_SET</H3>
<PRE>
public static final int <B>PREDEFINED_DATA_TYPE_DEFINITION__CHARACTER_SET</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Character Set</b></em>' attribute list.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="PREDEFINED_DATA_TYPE_DEFINITION__ENCODING_SCHEME"><!-- --></A><H3>
PREDEFINED_DATA_TYPE_DEFINITION__ENCODING_SCHEME</H3>
<PRE>
public static final int <B>PREDEFINED_DATA_TYPE_DEFINITION__ENCODING_SCHEME</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Encoding Scheme</b></em>' attribute list.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="PREDEFINED_DATA_TYPE_DEFINITION__CHARACTER_SET_SUFFIX"><!-- --></A><H3>
PREDEFINED_DATA_TYPE_DEFINITION__CHARACTER_SET_SUFFIX</H3>
<PRE>
public static final int <B>PREDEFINED_DATA_TYPE_DEFINITION__CHARACTER_SET_SUFFIX</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Character Set Suffix</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="PREDEFINED_DATA_TYPE_DEFINITION__ENCODING_SCHEME_SUFFIX"><!-- --></A><H3>
PREDEFINED_DATA_TYPE_DEFINITION__ENCODING_SCHEME_SUFFIX</H3>
<PRE>
public static final int <B>PREDEFINED_DATA_TYPE_DEFINITION__ENCODING_SCHEME_SUFFIX</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Encoding Scheme Suffix</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="PREDEFINED_DATA_TYPE_DEFINITION__JAVA_CLASS_NAME"><!-- --></A><H3>
PREDEFINED_DATA_TYPE_DEFINITION__JAVA_CLASS_NAME</H3>
<PRE>
public static final int <B>PREDEFINED_DATA_TYPE_DEFINITION__JAVA_CLASS_NAME</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Java Class Name</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="PREDEFINED_DATA_TYPE_DEFINITION__DEFAULT_LENGTH"><!-- --></A><H3>
PREDEFINED_DATA_TYPE_DEFINITION__DEFAULT_LENGTH</H3>
<PRE>
public static final int <B>PREDEFINED_DATA_TYPE_DEFINITION__DEFAULT_LENGTH</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Default Length</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="PREDEFINED_DATA_TYPE_DEFINITION_FEATURE_COUNT"><!-- --></A><H3>
PREDEFINED_DATA_TYPE_DEFINITION_FEATURE_COUNT</H3>
<PRE>
public static final int <B>PREDEFINED_DATA_TYPE_DEFINITION_FEATURE_COUNT</B></PRE>
<DL>
<DD>The number of structural features of the the '<em>Predefined Data Type Definition</em>' class.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="TABLE_SPACE_DEFINITION"><!-- --></A><H3>
TABLE_SPACE_DEFINITION</H3>
<PRE>
public static final int <B>TABLE_SPACE_DEFINITION</B></PRE>
<DL>
<DD>The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/TableSpaceDefinitionImpl.html"><CODE><em>Table Space Definition</em></CODE></A>' class.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/TableSpaceDefinitionImpl.html"><CODE>TableSpaceDefinitionImpl</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/DatabaseDefinitionPackageImpl.html#getTableSpaceDefinition()"><CODE>DatabaseDefinitionPackageImpl.getTableSpaceDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="TABLE_SPACE_DEFINITION__TYPE_SUPPORTED"><!-- --></A><H3>
TABLE_SPACE_DEFINITION__TYPE_SUPPORTED</H3>
<PRE>
public static final int <B>TABLE_SPACE_DEFINITION__TYPE_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Type Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="TABLE_SPACE_DEFINITION__EXTENT_SIZE_SUPPORTED"><!-- --></A><H3>
TABLE_SPACE_DEFINITION__EXTENT_SIZE_SUPPORTED</H3>
<PRE>
public static final int <B>TABLE_SPACE_DEFINITION__EXTENT_SIZE_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Extent Size Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="TABLE_SPACE_DEFINITION__PREFETCH_SIZE_SUPPORTED"><!-- --></A><H3>
TABLE_SPACE_DEFINITION__PREFETCH_SIZE_SUPPORTED</H3>
<PRE>
public static final int <B>TABLE_SPACE_DEFINITION__PREFETCH_SIZE_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Prefetch Size Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="TABLE_SPACE_DEFINITION__MANAGED_BY_SUPPORTED"><!-- --></A><H3>
TABLE_SPACE_DEFINITION__MANAGED_BY_SUPPORTED</H3>
<PRE>
public static final int <B>TABLE_SPACE_DEFINITION__MANAGED_BY_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Managed By Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="TABLE_SPACE_DEFINITION__PAGE_SIZE_SUPPORTED"><!-- --></A><H3>
TABLE_SPACE_DEFINITION__PAGE_SIZE_SUPPORTED</H3>
<PRE>
public static final int <B>TABLE_SPACE_DEFINITION__PAGE_SIZE_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Page Size Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="TABLE_SPACE_DEFINITION__BUFFER_POOL_SUPPORTED"><!-- --></A><H3>
TABLE_SPACE_DEFINITION__BUFFER_POOL_SUPPORTED</H3>
<PRE>
public static final int <B>TABLE_SPACE_DEFINITION__BUFFER_POOL_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Buffer Pool Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="TABLE_SPACE_DEFINITION__DEFAULT_SUPPORTED"><!-- --></A><H3>
TABLE_SPACE_DEFINITION__DEFAULT_SUPPORTED</H3>
<PRE>
public static final int <B>TABLE_SPACE_DEFINITION__DEFAULT_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Default Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="TABLE_SPACE_DEFINITION__CONTAINER_MAXIMUM_SIZE_SUPPORTED"><!-- --></A><H3>
TABLE_SPACE_DEFINITION__CONTAINER_MAXIMUM_SIZE_SUPPORTED</H3>
<PRE>
public static final int <B>TABLE_SPACE_DEFINITION__CONTAINER_MAXIMUM_SIZE_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Container Maximum Size Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="TABLE_SPACE_DEFINITION__CONTAINER_INITIAL_SIZE_SUPPORTED"><!-- --></A><H3>
TABLE_SPACE_DEFINITION__CONTAINER_INITIAL_SIZE_SUPPORTED</H3>
<PRE>
public static final int <B>TABLE_SPACE_DEFINITION__CONTAINER_INITIAL_SIZE_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Container Initial Size Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="TABLE_SPACE_DEFINITION__CONTAINER_EXTENT_SIZE_SUPPORTED"><!-- --></A><H3>
TABLE_SPACE_DEFINITION__CONTAINER_EXTENT_SIZE_SUPPORTED</H3>
<PRE>
public static final int <B>TABLE_SPACE_DEFINITION__CONTAINER_EXTENT_SIZE_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Container Extent Size Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="TABLE_SPACE_DEFINITION__TABLE_SPACE_TYPE"><!-- --></A><H3>
TABLE_SPACE_DEFINITION__TABLE_SPACE_TYPE</H3>
<PRE>
public static final int <B>TABLE_SPACE_DEFINITION__TABLE_SPACE_TYPE</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Table Space Type</b></em>' attribute list.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="TABLE_SPACE_DEFINITION_FEATURE_COUNT"><!-- --></A><H3>
TABLE_SPACE_DEFINITION_FEATURE_COUNT</H3>
<PRE>
public static final int <B>TABLE_SPACE_DEFINITION_FEATURE_COUNT</B></PRE>
<DL>
<DD>The number of structural features of the the '<em>Table Space Definition</em>' class.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="STORED_PROCEDURE_DEFINITION"><!-- --></A><H3>
STORED_PROCEDURE_DEFINITION</H3>
<PRE>
public static final int <B>STORED_PROCEDURE_DEFINITION</B></PRE>
<DL>
<DD>The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/StoredProcedureDefinitionImpl.html"><CODE><em>Stored Procedure Definition</em></CODE></A>' class.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/StoredProcedureDefinitionImpl.html"><CODE>StoredProcedureDefinitionImpl</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/DatabaseDefinitionPackageImpl.html#getStoredProcedureDefinition()"><CODE>DatabaseDefinitionPackageImpl.getStoredProcedureDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="STORED_PROCEDURE_DEFINITION__NULL_INPUT_ACTION_SUPPORTED"><!-- --></A><H3>
STORED_PROCEDURE_DEFINITION__NULL_INPUT_ACTION_SUPPORTED</H3>
<PRE>
public static final int <B>STORED_PROCEDURE_DEFINITION__NULL_INPUT_ACTION_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Null Input Action Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="STORED_PROCEDURE_DEFINITION__PACKAGE_GENERATION_SUPPORTED"><!-- --></A><H3>
STORED_PROCEDURE_DEFINITION__PACKAGE_GENERATION_SUPPORTED</H3>
<PRE>
public static final int <B>STORED_PROCEDURE_DEFINITION__PACKAGE_GENERATION_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Package Generation Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="STORED_PROCEDURE_DEFINITION__DETERMININSTIC_SUPPORTED"><!-- --></A><H3>
STORED_PROCEDURE_DEFINITION__DETERMININSTIC_SUPPORTED</H3>
<PRE>
public static final int <B>STORED_PROCEDURE_DEFINITION__DETERMININSTIC_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Determininstic Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="STORED_PROCEDURE_DEFINITION__RETURNED_NULL_SUPPORTED"><!-- --></A><H3>
STORED_PROCEDURE_DEFINITION__RETURNED_NULL_SUPPORTED</H3>
<PRE>
public static final int <B>STORED_PROCEDURE_DEFINITION__RETURNED_NULL_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Returned Null Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="STORED_PROCEDURE_DEFINITION__RETURNED_TYPE_DECLARATION_CONSTRAINT_SUPPORTED"><!-- --></A><H3>
STORED_PROCEDURE_DEFINITION__RETURNED_TYPE_DECLARATION_CONSTRAINT_SUPPORTED</H3>
<PRE>
public static final int <B>STORED_PROCEDURE_DEFINITION__RETURNED_TYPE_DECLARATION_CONSTRAINT_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Returned Type Declaration Constraint Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="STORED_PROCEDURE_DEFINITION__PARAMETER_INIT_VALUE_SUPPORTED"><!-- --></A><H3>
STORED_PROCEDURE_DEFINITION__PARAMETER_INIT_VALUE_SUPPORTED</H3>
<PRE>
public static final int <B>STORED_PROCEDURE_DEFINITION__PARAMETER_INIT_VALUE_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Parameter Init Value Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="STORED_PROCEDURE_DEFINITION__PARAMETER_STYLE_SUPPORTED"><!-- --></A><H3>
STORED_PROCEDURE_DEFINITION__PARAMETER_STYLE_SUPPORTED</H3>
<PRE>
public static final int <B>STORED_PROCEDURE_DEFINITION__PARAMETER_STYLE_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Parameter Style Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="STORED_PROCEDURE_DEFINITION__RETURN_TYPE_SUPPORTED"><!-- --></A><H3>
STORED_PROCEDURE_DEFINITION__RETURN_TYPE_SUPPORTED</H3>
<PRE>
public static final int <B>STORED_PROCEDURE_DEFINITION__RETURN_TYPE_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Return Type Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="STORED_PROCEDURE_DEFINITION__PARAMETER_DECLARATION_CONSTRAINT_SUPPORTED"><!-- --></A><H3>
STORED_PROCEDURE_DEFINITION__PARAMETER_DECLARATION_CONSTRAINT_SUPPORTED</H3>
<PRE>
public static final int <B>STORED_PROCEDURE_DEFINITION__PARAMETER_DECLARATION_CONSTRAINT_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Parameter Declaration Constraint Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="STORED_PROCEDURE_DEFINITION__MAXIMUM_ACTION_BODY_LENGTH"><!-- --></A><H3>
STORED_PROCEDURE_DEFINITION__MAXIMUM_ACTION_BODY_LENGTH</H3>
<PRE>
public static final int <B>STORED_PROCEDURE_DEFINITION__MAXIMUM_ACTION_BODY_LENGTH</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Maximum Action Body Length</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="STORED_PROCEDURE_DEFINITION__PARAMETER_STYLE"><!-- --></A><H3>
STORED_PROCEDURE_DEFINITION__PARAMETER_STYLE</H3>
<PRE>
public static final int <B>STORED_PROCEDURE_DEFINITION__PARAMETER_STYLE</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Parameter Style</b></em>' attribute list.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="STORED_PROCEDURE_DEFINITION__LANGUAGE_TYPE"><!-- --></A><H3>
STORED_PROCEDURE_DEFINITION__LANGUAGE_TYPE</H3>
<PRE>
public static final int <B>STORED_PROCEDURE_DEFINITION__LANGUAGE_TYPE</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Language Type</b></em>' attribute list.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="STORED_PROCEDURE_DEFINITION__FUNCTION_LANGUAGE_TYPE"><!-- --></A><H3>
STORED_PROCEDURE_DEFINITION__FUNCTION_LANGUAGE_TYPE</H3>
<PRE>
public static final int <B>STORED_PROCEDURE_DEFINITION__FUNCTION_LANGUAGE_TYPE</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Function Language Type</b></em>' attribute list.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="STORED_PROCEDURE_DEFINITION__PROCEDURE_TYPE"><!-- --></A><H3>
STORED_PROCEDURE_DEFINITION__PROCEDURE_TYPE</H3>
<PRE>
public static final int <B>STORED_PROCEDURE_DEFINITION__PROCEDURE_TYPE</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Procedure Type</b></em>' attribute list.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="STORED_PROCEDURE_DEFINITION_FEATURE_COUNT"><!-- --></A><H3>
STORED_PROCEDURE_DEFINITION_FEATURE_COUNT</H3>
<PRE>
public static final int <B>STORED_PROCEDURE_DEFINITION_FEATURE_COUNT</B></PRE>
<DL>
<DD>The number of structural features of the the '<em>Stored Procedure Definition</em>' class.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="TRIGGER_DEFINITION"><!-- --></A><H3>
TRIGGER_DEFINITION</H3>
<PRE>
public static final int <B>TRIGGER_DEFINITION</B></PRE>
<DL>
<DD>The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/TriggerDefinitionImpl.html"><CODE><em>Trigger Definition</em></CODE></A>' class.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/TriggerDefinitionImpl.html"><CODE>TriggerDefinitionImpl</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/DatabaseDefinitionPackageImpl.html#getTriggerDefinition()"><CODE>DatabaseDefinitionPackageImpl.getTriggerDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="TRIGGER_DEFINITION__MAXIMUM_REFERENCE_PART_LENGTH"><!-- --></A><H3>
TRIGGER_DEFINITION__MAXIMUM_REFERENCE_PART_LENGTH</H3>
<PRE>
public static final int <B>TRIGGER_DEFINITION__MAXIMUM_REFERENCE_PART_LENGTH</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Maximum Reference Part Length</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="TRIGGER_DEFINITION__MAXIMUM_ACTION_BODY_LENGTH"><!-- --></A><H3>
TRIGGER_DEFINITION__MAXIMUM_ACTION_BODY_LENGTH</H3>
<PRE>
public static final int <B>TRIGGER_DEFINITION__MAXIMUM_ACTION_BODY_LENGTH</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Maximum Action Body Length</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="TRIGGER_DEFINITION__TYPE_SUPPORTED"><!-- --></A><H3>
TRIGGER_DEFINITION__TYPE_SUPPORTED</H3>
<PRE>
public static final int <B>TRIGGER_DEFINITION__TYPE_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Type Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="TRIGGER_DEFINITION__WHEN_CLAUSE_SUPPORTED"><!-- --></A><H3>
TRIGGER_DEFINITION__WHEN_CLAUSE_SUPPORTED</H3>
<PRE>
public static final int <B>TRIGGER_DEFINITION__WHEN_CLAUSE_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>When Clause Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="TRIGGER_DEFINITION__GRANULARITY_SUPPORTED"><!-- --></A><H3>
TRIGGER_DEFINITION__GRANULARITY_SUPPORTED</H3>
<PRE>
public static final int <B>TRIGGER_DEFINITION__GRANULARITY_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Granularity Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="TRIGGER_DEFINITION__REFERENCES_CLAUSE_SUPPORTED"><!-- --></A><H3>
TRIGGER_DEFINITION__REFERENCES_CLAUSE_SUPPORTED</H3>
<PRE>
public static final int <B>TRIGGER_DEFINITION__REFERENCES_CLAUSE_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>References Clause Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="TRIGGER_DEFINITION__PER_COLUMN_UPDATE_TRIGGER_SUPPORTED"><!-- --></A><H3>
TRIGGER_DEFINITION__PER_COLUMN_UPDATE_TRIGGER_SUPPORTED</H3>
<PRE>
public static final int <B>TRIGGER_DEFINITION__PER_COLUMN_UPDATE_TRIGGER_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Per Column Update Trigger Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="TRIGGER_DEFINITION__INSTEAD_OF_TRIGGER_SUPPORTED"><!-- --></A><H3>
TRIGGER_DEFINITION__INSTEAD_OF_TRIGGER_SUPPORTED</H3>
<PRE>
public static final int <B>TRIGGER_DEFINITION__INSTEAD_OF_TRIGGER_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Instead Of Trigger Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="TRIGGER_DEFINITION__ROW_TRIGGER_REFERENCE_SUPPORTED"><!-- --></A><H3>
TRIGGER_DEFINITION__ROW_TRIGGER_REFERENCE_SUPPORTED</H3>
<PRE>
public static final int <B>TRIGGER_DEFINITION__ROW_TRIGGER_REFERENCE_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Row Trigger Reference Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="TRIGGER_DEFINITION__TABLE_TRIGGER_REFERENCE_SUPPORTED"><!-- --></A><H3>
TRIGGER_DEFINITION__TABLE_TRIGGER_REFERENCE_SUPPORTED</H3>
<PRE>
public static final int <B>TRIGGER_DEFINITION__TABLE_TRIGGER_REFERENCE_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Table Trigger Reference Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="TRIGGER_DEFINITION_FEATURE_COUNT"><!-- --></A><H3>
TRIGGER_DEFINITION_FEATURE_COUNT</H3>
<PRE>
public static final int <B>TRIGGER_DEFINITION_FEATURE_COUNT</B></PRE>
<DL>
<DD>The number of structural features of the the '<em>Trigger Definition</em>' class.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="COLUMN_DEFINITION"><!-- --></A><H3>
COLUMN_DEFINITION</H3>
<PRE>
public static final int <B>COLUMN_DEFINITION</B></PRE>
<DL>
<DD>The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/ColumnDefinitionImpl.html"><CODE><em>Column Definition</em></CODE></A>' class.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/ColumnDefinitionImpl.html"><CODE>ColumnDefinitionImpl</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/DatabaseDefinitionPackageImpl.html#getColumnDefinition()"><CODE>DatabaseDefinitionPackageImpl.getColumnDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="COLUMN_DEFINITION__IDENTITY_SUPPORTED"><!-- --></A><H3>
COLUMN_DEFINITION__IDENTITY_SUPPORTED</H3>
<PRE>
public static final int <B>COLUMN_DEFINITION__IDENTITY_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Identity Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="COLUMN_DEFINITION__COMPUTED_SUPPORTED"><!-- --></A><H3>
COLUMN_DEFINITION__COMPUTED_SUPPORTED</H3>
<PRE>
public static final int <B>COLUMN_DEFINITION__COMPUTED_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Computed Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="COLUMN_DEFINITION__IDENTITY_START_VALUE_SUPPORTED"><!-- --></A><H3>
COLUMN_DEFINITION__IDENTITY_START_VALUE_SUPPORTED</H3>
<PRE>
public static final int <B>COLUMN_DEFINITION__IDENTITY_START_VALUE_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Identity Start Value Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="COLUMN_DEFINITION__IDENTITY_INCREMENT_SUPPORTED"><!-- --></A><H3>
COLUMN_DEFINITION__IDENTITY_INCREMENT_SUPPORTED</H3>
<PRE>
public static final int <B>COLUMN_DEFINITION__IDENTITY_INCREMENT_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Identity Increment Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="COLUMN_DEFINITION__IDENTITY_MINIMUM_SUPPORTED"><!-- --></A><H3>
COLUMN_DEFINITION__IDENTITY_MINIMUM_SUPPORTED</H3>
<PRE>
public static final int <B>COLUMN_DEFINITION__IDENTITY_MINIMUM_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Identity Minimum Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="COLUMN_DEFINITION__IDENTITY_MAXIMUM_SUPPORTED"><!-- --></A><H3>
COLUMN_DEFINITION__IDENTITY_MAXIMUM_SUPPORTED</H3>
<PRE>
public static final int <B>COLUMN_DEFINITION__IDENTITY_MAXIMUM_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Identity Maximum Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="COLUMN_DEFINITION__IDENTITY_CYCLE_SUPPORTED"><!-- --></A><H3>
COLUMN_DEFINITION__IDENTITY_CYCLE_SUPPORTED</H3>
<PRE>
public static final int <B>COLUMN_DEFINITION__IDENTITY_CYCLE_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Identity Cycle Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="COLUMN_DEFINITION_FEATURE_COUNT"><!-- --></A><H3>
COLUMN_DEFINITION_FEATURE_COUNT</H3>
<PRE>
public static final int <B>COLUMN_DEFINITION_FEATURE_COUNT</B></PRE>
<DL>
<DD>The number of structural features of the the '<em>Column Definition</em>' class.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="CONSTRAINT_DEFINITION"><!-- --></A><H3>
CONSTRAINT_DEFINITION</H3>
<PRE>
public static final int <B>CONSTRAINT_DEFINITION</B></PRE>
<DL>
<DD>The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/ConstraintDefinitionImpl.html"><CODE><em>Constraint Definition</em></CODE></A>' class.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/ConstraintDefinitionImpl.html"><CODE>ConstraintDefinitionImpl</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/DatabaseDefinitionPackageImpl.html#getConstraintDefinition()"><CODE>DatabaseDefinitionPackageImpl.getConstraintDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="CONSTRAINT_DEFINITION__DEFERRABLE_CONSTRAINT_SUPPORTED"><!-- --></A><H3>
CONSTRAINT_DEFINITION__DEFERRABLE_CONSTRAINT_SUPPORTED</H3>
<PRE>
public static final int <B>CONSTRAINT_DEFINITION__DEFERRABLE_CONSTRAINT_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Deferrable Constraint Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="CONSTRAINT_DEFINITION__INFORMATIONAL_CONSTRAINT_SUPPORTED"><!-- --></A><H3>
CONSTRAINT_DEFINITION__INFORMATIONAL_CONSTRAINT_SUPPORTED</H3>
<PRE>
public static final int <B>CONSTRAINT_DEFINITION__INFORMATIONAL_CONSTRAINT_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Informational Constraint Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="CONSTRAINT_DEFINITION__CLUSTERED_PRIMARY_KEY_SUPPORTED"><!-- --></A><H3>
CONSTRAINT_DEFINITION__CLUSTERED_PRIMARY_KEY_SUPPORTED</H3>
<PRE>
public static final int <B>CONSTRAINT_DEFINITION__CLUSTERED_PRIMARY_KEY_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Clustered Primary Key Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="CONSTRAINT_DEFINITION__CLUSTERED_UNIQUE_CONSTRAINT_SUPPORTED"><!-- --></A><H3>
CONSTRAINT_DEFINITION__CLUSTERED_UNIQUE_CONSTRAINT_SUPPORTED</H3>
<PRE>
public static final int <B>CONSTRAINT_DEFINITION__CLUSTERED_UNIQUE_CONSTRAINT_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Clustered Unique Constraint Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="CONSTRAINT_DEFINITION__PRIMARY_KEY_NULLABLE"><!-- --></A><H3>
CONSTRAINT_DEFINITION__PRIMARY_KEY_NULLABLE</H3>
<PRE>
public static final int <B>CONSTRAINT_DEFINITION__PRIMARY_KEY_NULLABLE</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Primary Key Nullable</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="CONSTRAINT_DEFINITION__UNIQUE_KEY_NULLABLE"><!-- --></A><H3>
CONSTRAINT_DEFINITION__UNIQUE_KEY_NULLABLE</H3>
<PRE>
public static final int <B>CONSTRAINT_DEFINITION__UNIQUE_KEY_NULLABLE</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Unique Key Nullable</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="CONSTRAINT_DEFINITION__MAXIMUM_CHECK_EXPRESSION_LENGTH"><!-- --></A><H3>
CONSTRAINT_DEFINITION__MAXIMUM_CHECK_EXPRESSION_LENGTH</H3>
<PRE>
public static final int <B>CONSTRAINT_DEFINITION__MAXIMUM_CHECK_EXPRESSION_LENGTH</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Maximum Check Expression Length</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="CONSTRAINT_DEFINITION__PARENT_UPDATE_DRI_RULE_TYPE"><!-- --></A><H3>
CONSTRAINT_DEFINITION__PARENT_UPDATE_DRI_RULE_TYPE</H3>
<PRE>
public static final int <B>CONSTRAINT_DEFINITION__PARENT_UPDATE_DRI_RULE_TYPE</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Parent Update DRI Rule Type</b></em>' attribute list.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="CONSTRAINT_DEFINITION__PARENT_DELETE_DRI_RULE_TYPE"><!-- --></A><H3>
CONSTRAINT_DEFINITION__PARENT_DELETE_DRI_RULE_TYPE</H3>
<PRE>
public static final int <B>CONSTRAINT_DEFINITION__PARENT_DELETE_DRI_RULE_TYPE</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Parent Delete DRI Rule Type</b></em>' attribute list.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="CONSTRAINT_DEFINITION__CHECK_OPTION"><!-- --></A><H3>
CONSTRAINT_DEFINITION__CHECK_OPTION</H3>
<PRE>
public static final int <B>CONSTRAINT_DEFINITION__CHECK_OPTION</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Check Option</b></em>' attribute list.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="CONSTRAINT_DEFINITION_FEATURE_COUNT"><!-- --></A><H3>
CONSTRAINT_DEFINITION_FEATURE_COUNT</H3>
<PRE>
public static final int <B>CONSTRAINT_DEFINITION_FEATURE_COUNT</B></PRE>
<DL>
<DD>The number of structural features of the the '<em>Constraint Definition</em>' class.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="INDEX_DEFINITION"><!-- --></A><H3>
INDEX_DEFINITION</H3>
<PRE>
public static final int <B>INDEX_DEFINITION</B></PRE>
<DL>
<DD>The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/IndexDefinitionImpl.html"><CODE><em>Index Definition</em></CODE></A>' class.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/IndexDefinitionImpl.html"><CODE>IndexDefinitionImpl</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/DatabaseDefinitionPackageImpl.html#getIndexDefinition()"><CODE>DatabaseDefinitionPackageImpl.getIndexDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="INDEX_DEFINITION__PERCENT_FREE_TERMINOLOGY"><!-- --></A><H3>
INDEX_DEFINITION__PERCENT_FREE_TERMINOLOGY</H3>
<PRE>
public static final int <B>INDEX_DEFINITION__PERCENT_FREE_TERMINOLOGY</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Percent Free Terminology</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="INDEX_DEFINITION__PERCENT_FREE_CHANGEABLE"><!-- --></A><H3>
INDEX_DEFINITION__PERCENT_FREE_CHANGEABLE</H3>
<PRE>
public static final int <B>INDEX_DEFINITION__PERCENT_FREE_CHANGEABLE</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Percent Free Changeable</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="INDEX_DEFINITION__CLUSTERING_SUPPORTED"><!-- --></A><H3>
INDEX_DEFINITION__CLUSTERING_SUPPORTED</H3>
<PRE>
public static final int <B>INDEX_DEFINITION__CLUSTERING_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Clustering Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="INDEX_DEFINITION__CLUSTER_CHANGEABLE"><!-- --></A><H3>
INDEX_DEFINITION__CLUSTER_CHANGEABLE</H3>
<PRE>
public static final int <B>INDEX_DEFINITION__CLUSTER_CHANGEABLE</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Cluster Changeable</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="INDEX_DEFINITION__FILL_FACTOR_SUPPORTED"><!-- --></A><H3>
INDEX_DEFINITION__FILL_FACTOR_SUPPORTED</H3>
<PRE>
public static final int <B>INDEX_DEFINITION__FILL_FACTOR_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Fill Factor Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="INDEX_DEFINITION__INCLUDED_COLUMNS_SUPPORTED"><!-- --></A><H3>
INDEX_DEFINITION__INCLUDED_COLUMNS_SUPPORTED</H3>
<PRE>
public static final int <B>INDEX_DEFINITION__INCLUDED_COLUMNS_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Included Columns Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="INDEX_DEFINITION_FEATURE_COUNT"><!-- --></A><H3>
INDEX_DEFINITION_FEATURE_COUNT</H3>
<PRE>
public static final int <B>INDEX_DEFINITION_FEATURE_COUNT</B></PRE>
<DL>
<DD>The number of structural features of the the '<em>Index Definition</em>' class.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="EXTENDED_DEFINITION"><!-- --></A><H3>
EXTENDED_DEFINITION</H3>
<PRE>
public static final int <B>EXTENDED_DEFINITION</B></PRE>
<DL>
<DD>The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/ExtendedDefinitionImpl.html"><CODE><em>Extended Definition</em></CODE></A>' class.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/ExtendedDefinitionImpl.html"><CODE>ExtendedDefinitionImpl</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/DatabaseDefinitionPackageImpl.html#getExtendedDefinition()"><CODE>DatabaseDefinitionPackageImpl.getExtendedDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="EXTENDED_DEFINITION__NAME"><!-- --></A><H3>
EXTENDED_DEFINITION__NAME</H3>
<PRE>
public static final int <B>EXTENDED_DEFINITION__NAME</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Name</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="EXTENDED_DEFINITION__VALUE"><!-- --></A><H3>
EXTENDED_DEFINITION__VALUE</H3>
<PRE>
public static final int <B>EXTENDED_DEFINITION__VALUE</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Value</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="EXTENDED_DEFINITION_FEATURE_COUNT"><!-- --></A><H3>
EXTENDED_DEFINITION_FEATURE_COUNT</H3>
<PRE>
public static final int <B>EXTENDED_DEFINITION_FEATURE_COUNT</B></PRE>
<DL>
<DD>The number of structural features of the the '<em>Extended Definition</em>' class.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="TABLE_DEFINITION"><!-- --></A><H3>
TABLE_DEFINITION</H3>
<PRE>
public static final int <B>TABLE_DEFINITION</B></PRE>
<DL>
<DD>The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/TableDefinitionImpl.html"><CODE><em>Table Definition</em></CODE></A>' class.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/TableDefinitionImpl.html"><CODE>TableDefinitionImpl</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/DatabaseDefinitionPackageImpl.html#getTableDefinition()"><CODE>DatabaseDefinitionPackageImpl.getTableDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="TABLE_DEFINITION__AUDIT_SUPPORTED"><!-- --></A><H3>
TABLE_DEFINITION__AUDIT_SUPPORTED</H3>
<PRE>
public static final int <B>TABLE_DEFINITION__AUDIT_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Audit Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="TABLE_DEFINITION__DATA_CAPTURE_SUPPORTED"><!-- --></A><H3>
TABLE_DEFINITION__DATA_CAPTURE_SUPPORTED</H3>
<PRE>
public static final int <B>TABLE_DEFINITION__DATA_CAPTURE_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Data Capture Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="TABLE_DEFINITION__EDIT_PROC_SUPPORTED"><!-- --></A><H3>
TABLE_DEFINITION__EDIT_PROC_SUPPORTED</H3>
<PRE>
public static final int <B>TABLE_DEFINITION__EDIT_PROC_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Edit Proc Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="TABLE_DEFINITION__ENCODING_SUPPORTED"><!-- --></A><H3>
TABLE_DEFINITION__ENCODING_SUPPORTED</H3>
<PRE>
public static final int <B>TABLE_DEFINITION__ENCODING_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Encoding Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="TABLE_DEFINITION__VALID_PROC_SUPPORTED"><!-- --></A><H3>
TABLE_DEFINITION__VALID_PROC_SUPPORTED</H3>
<PRE>
public static final int <B>TABLE_DEFINITION__VALID_PROC_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Valid Proc Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="TABLE_DEFINITION_FEATURE_COUNT"><!-- --></A><H3>
TABLE_DEFINITION_FEATURE_COUNT</H3>
<PRE>
public static final int <B>TABLE_DEFINITION_FEATURE_COUNT</B></PRE>
<DL>
<DD>The number of structural features of the the '<em>Table Definition</em>' class.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="SEQUENCE_DEFINITION"><!-- --></A><H3>
SEQUENCE_DEFINITION</H3>
<PRE>
public static final int <B>SEQUENCE_DEFINITION</B></PRE>
<DL>
<DD>The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/SequenceDefinitionImpl.html"><CODE><em>Sequence Definition</em></CODE></A>' class.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/SequenceDefinitionImpl.html"><CODE>SequenceDefinitionImpl</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/DatabaseDefinitionPackageImpl.html#getSequenceDefinition()"><CODE>DatabaseDefinitionPackageImpl.getSequenceDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="SEQUENCE_DEFINITION__PREDEFINED_DATA_TYPE_DEFINITIONS"><!-- --></A><H3>
SEQUENCE_DEFINITION__PREDEFINED_DATA_TYPE_DEFINITIONS</H3>
<PRE>
public static final int <B>SEQUENCE_DEFINITION__PREDEFINED_DATA_TYPE_DEFINITIONS</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Predefined Data Type Definitions</b></em>' reference list.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="SEQUENCE_DEFINITION__DEFAULT_DATA_TYPE_DEFINITION"><!-- --></A><H3>
SEQUENCE_DEFINITION__DEFAULT_DATA_TYPE_DEFINITION</H3>
<PRE>
public static final int <B>SEQUENCE_DEFINITION__DEFAULT_DATA_TYPE_DEFINITION</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Default Data Type Definition</b></em>' reference.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="SEQUENCE_DEFINITION__TYPE_ENUMERATION_SUPPORTED"><!-- --></A><H3>
SEQUENCE_DEFINITION__TYPE_ENUMERATION_SUPPORTED</H3>
<PRE>
public static final int <B>SEQUENCE_DEFINITION__TYPE_ENUMERATION_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Type Enumeration Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="SEQUENCE_DEFINITION__CACHE_SUPPORTED"><!-- --></A><H3>
SEQUENCE_DEFINITION__CACHE_SUPPORTED</H3>
<PRE>
public static final int <B>SEQUENCE_DEFINITION__CACHE_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Cache Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="SEQUENCE_DEFINITION__ORDER_SUPPORTED"><!-- --></A><H3>
SEQUENCE_DEFINITION__ORDER_SUPPORTED</H3>
<PRE>
public static final int <B>SEQUENCE_DEFINITION__ORDER_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Order Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="SEQUENCE_DEFINITION__NO_MAXIMUM_VALUE_STRING"><!-- --></A><H3>
SEQUENCE_DEFINITION__NO_MAXIMUM_VALUE_STRING</H3>
<PRE>
public static final int <B>SEQUENCE_DEFINITION__NO_MAXIMUM_VALUE_STRING</B></PRE>
<DL>
<DD>The feature id for the '<em><b>No Maximum Value String</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="SEQUENCE_DEFINITION__NO_MINIMUM_VALUE_STRING"><!-- --></A><H3>
SEQUENCE_DEFINITION__NO_MINIMUM_VALUE_STRING</H3>
<PRE>
public static final int <B>SEQUENCE_DEFINITION__NO_MINIMUM_VALUE_STRING</B></PRE>
<DL>
<DD>The feature id for the '<em><b>No Minimum Value String</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="SEQUENCE_DEFINITION__NO_CACHE_STRING"><!-- --></A><H3>
SEQUENCE_DEFINITION__NO_CACHE_STRING</H3>
<PRE>
public static final int <B>SEQUENCE_DEFINITION__NO_CACHE_STRING</B></PRE>
<DL>
<DD>The feature id for the '<em><b>No Cache String</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="SEQUENCE_DEFINITION__CACHE_DEFAULT_VALUE"><!-- --></A><H3>
SEQUENCE_DEFINITION__CACHE_DEFAULT_VALUE</H3>
<PRE>
public static final int <B>SEQUENCE_DEFINITION__CACHE_DEFAULT_VALUE</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Cache Default Value</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="SEQUENCE_DEFINITION_FEATURE_COUNT"><!-- --></A><H3>
SEQUENCE_DEFINITION_FEATURE_COUNT</H3>
<PRE>
public static final int <B>SEQUENCE_DEFINITION_FEATURE_COUNT</B></PRE>
<DL>
<DD>The number of structural features of the the '<em>Sequence Definition</em>' class.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="USER_DEFINED_TYPE_DEFINITION"><!-- --></A><H3>
USER_DEFINED_TYPE_DEFINITION</H3>
<PRE>
public static final int <B>USER_DEFINED_TYPE_DEFINITION</B></PRE>
<DL>
<DD>The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/UserDefinedTypeDefinitionImpl.html"><CODE><em>User Defined Type Definition</em></CODE></A>' class.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/UserDefinedTypeDefinitionImpl.html"><CODE>UserDefinedTypeDefinitionImpl</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/DatabaseDefinitionPackageImpl.html#getUserDefinedTypeDefinition()"><CODE>DatabaseDefinitionPackageImpl.getUserDefinedTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="USER_DEFINED_TYPE_DEFINITION__DEFAULT_VALUE_SUPPORTED"><!-- --></A><H3>
USER_DEFINED_TYPE_DEFINITION__DEFAULT_VALUE_SUPPORTED</H3>
<PRE>
public static final int <B>USER_DEFINED_TYPE_DEFINITION__DEFAULT_VALUE_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Default Value Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="USER_DEFINED_TYPE_DEFINITION__DISTINCT_TYPE_SUPPORTED"><!-- --></A><H3>
USER_DEFINED_TYPE_DEFINITION__DISTINCT_TYPE_SUPPORTED</H3>
<PRE>
public static final int <B>USER_DEFINED_TYPE_DEFINITION__DISTINCT_TYPE_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Distinct Type Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="USER_DEFINED_TYPE_DEFINITION__STRUCTURED_TYPE_SUPPORTED"><!-- --></A><H3>
USER_DEFINED_TYPE_DEFINITION__STRUCTURED_TYPE_SUPPORTED</H3>
<PRE>
public static final int <B>USER_DEFINED_TYPE_DEFINITION__STRUCTURED_TYPE_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Structured Type Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="USER_DEFINED_TYPE_DEFINITION_FEATURE_COUNT"><!-- --></A><H3>
USER_DEFINED_TYPE_DEFINITION_FEATURE_COUNT</H3>
<PRE>
public static final int <B>USER_DEFINED_TYPE_DEFINITION_FEATURE_COUNT</B></PRE>
<DL>
<DD>The number of structural features of the the '<em>User Defined Type Definition</em>' class.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="QUERY_DEFINITION"><!-- --></A><H3>
QUERY_DEFINITION</H3>
<PRE>
public static final int <B>QUERY_DEFINITION</B></PRE>
<DL>
<DD>The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/QueryDefinitionImpl.html"><CODE><em>Query Definition</em></CODE></A>' class.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/QueryDefinitionImpl.html"><CODE>QueryDefinitionImpl</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/DatabaseDefinitionPackageImpl.html#getQueryDefinition()"><CODE>DatabaseDefinitionPackageImpl.getQueryDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="QUERY_DEFINITION__IDENTIFIER_QUOTE_STRING"><!-- --></A><H3>
QUERY_DEFINITION__IDENTIFIER_QUOTE_STRING</H3>
<PRE>
public static final int <B>QUERY_DEFINITION__IDENTIFIER_QUOTE_STRING</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Identifier Quote String</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="QUERY_DEFINITION__HOST_VARIABLE_MARKER"><!-- --></A><H3>
QUERY_DEFINITION__HOST_VARIABLE_MARKER</H3>
<PRE>
public static final int <B>QUERY_DEFINITION__HOST_VARIABLE_MARKER</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Host Variable Marker</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="QUERY_DEFINITION__HOST_VARIABLE_MARKER_SUPPORTED"><!-- --></A><H3>
QUERY_DEFINITION__HOST_VARIABLE_MARKER_SUPPORTED</H3>
<PRE>
public static final int <B>QUERY_DEFINITION__HOST_VARIABLE_MARKER_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Host Variable Marker Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="QUERY_DEFINITION__CAST_EXPRESSION_SUPPORTED"><!-- --></A><H3>
QUERY_DEFINITION__CAST_EXPRESSION_SUPPORTED</H3>
<PRE>
public static final int <B>QUERY_DEFINITION__CAST_EXPRESSION_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Cast Expression Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="QUERY_DEFINITION__DEFAULT_KEYWORD_FOR_INSERT_VALUE_SUPPORTED"><!-- --></A><H3>
QUERY_DEFINITION__DEFAULT_KEYWORD_FOR_INSERT_VALUE_SUPPORTED</H3>
<PRE>
public static final int <B>QUERY_DEFINITION__DEFAULT_KEYWORD_FOR_INSERT_VALUE_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Default Keyword For Insert Value Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="QUERY_DEFINITION__EXTENDED_GROUPING_SUPPORTED"><!-- --></A><H3>
QUERY_DEFINITION__EXTENDED_GROUPING_SUPPORTED</H3>
<PRE>
public static final int <B>QUERY_DEFINITION__EXTENDED_GROUPING_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Extended Grouping Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="QUERY_DEFINITION__TABLE_ALIAS_IN_DELETE_SUPPORTED"><!-- --></A><H3>
QUERY_DEFINITION__TABLE_ALIAS_IN_DELETE_SUPPORTED</H3>
<PRE>
public static final int <B>QUERY_DEFINITION__TABLE_ALIAS_IN_DELETE_SUPPORTED</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Table Alias In Delete Supported</b></em>' attribute.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="QUERY_DEFINITION_FEATURE_COUNT"><!-- --></A><H3>
QUERY_DEFINITION_FEATURE_COUNT</H3>
<PRE>
public static final int <B>QUERY_DEFINITION_FEATURE_COUNT</B></PRE>
<DL>
<DD>The number of structural features of the the '<em>Query Definition</em>' class.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="SQL_SYNTAX_DEFINITION"><!-- --></A><H3>
SQL_SYNTAX_DEFINITION</H3>
<PRE>
public static final int <B>SQL_SYNTAX_DEFINITION</B></PRE>
<DL>
<DD>The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/SQLSyntaxDefinitionImpl.html"><CODE><em>SQL Syntax Definition</em></CODE></A>' class.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/SQLSyntaxDefinitionImpl.html"><CODE>SQLSyntaxDefinitionImpl</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/DatabaseDefinitionPackageImpl.html#getSQLSyntaxDefinition()"><CODE>DatabaseDefinitionPackageImpl.getSQLSyntaxDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="SQL_SYNTAX_DEFINITION__KEYWORDS"><!-- --></A><H3>
SQL_SYNTAX_DEFINITION__KEYWORDS</H3>
<PRE>
public static final int <B>SQL_SYNTAX_DEFINITION__KEYWORDS</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Keywords</b></em>' attribute list.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="SQL_SYNTAX_DEFINITION__OPERATORS"><!-- --></A><H3>
SQL_SYNTAX_DEFINITION__OPERATORS</H3>
<PRE>
public static final int <B>SQL_SYNTAX_DEFINITION__OPERATORS</B></PRE>
<DL>
<DD>The feature id for the '<em><b>Operators</b></em>' attribute list.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="SQL_SYNTAX_DEFINITION_FEATURE_COUNT"><!-- --></A><H3>
SQL_SYNTAX_DEFINITION_FEATURE_COUNT</H3>
<PRE>
public static final int <B>SQL_SYNTAX_DEFINITION_FEATURE_COUNT</B></PRE>
<DL>
<DD>The number of structural features of the the '<em>SQL Syntax Definition</em>' class.
 <!-- begin-user-doc -->
 <!-- end-user-doc --></DL>
<HR>

<A NAME="CHECK_OPTION"><!-- --></A><H3>
CHECK_OPTION</H3>
<PRE>
public static final int <B>CHECK_OPTION</B></PRE>
<DL>
<DD>The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/CheckOption.html"><CODE><em>Check Option</em></CODE></A>' enum.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/CheckOption.html"><CODE>CheckOption</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/DatabaseDefinitionPackageImpl.html#getCheckOption()"><CODE>DatabaseDefinitionPackageImpl.getCheckOption()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="DEFAULT_VALUE_TYPE"><!-- --></A><H3>
DEFAULT_VALUE_TYPE</H3>
<PRE>
public static final int <B>DEFAULT_VALUE_TYPE</B></PRE>
<DL>
<DD>The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DefaultValueType.html"><CODE><em>Default Value Type</em></CODE></A>' enum.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DefaultValueType.html"><CODE>DefaultValueType</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/DatabaseDefinitionPackageImpl.html#getDefaultValueType()"><CODE>DatabaseDefinitionPackageImpl.getDefaultValueType()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="LANGUAGE_TYPE"><!-- --></A><H3>
LANGUAGE_TYPE</H3>
<PRE>
public static final int <B>LANGUAGE_TYPE</B></PRE>
<DL>
<DD>The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/LanguageType.html"><CODE><em>Language Type</em></CODE></A>' enum.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/LanguageType.html"><CODE>LanguageType</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/DatabaseDefinitionPackageImpl.html#getLanguageType()"><CODE>DatabaseDefinitionPackageImpl.getLanguageType()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="PARAMETER_STYLE"><!-- --></A><H3>
PARAMETER_STYLE</H3>
<PRE>
public static final int <B>PARAMETER_STYLE</B></PRE>
<DL>
<DD>The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ParameterStyle.html"><CODE><em>Parameter Style</em></CODE></A>' enum.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ParameterStyle.html"><CODE>ParameterStyle</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/DatabaseDefinitionPackageImpl.html#getParameterStyle()"><CODE>DatabaseDefinitionPackageImpl.getParameterStyle()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="PARENT_DELETE_DRI_RULE_TYPE"><!-- --></A><H3>
PARENT_DELETE_DRI_RULE_TYPE</H3>
<PRE>
public static final int <B>PARENT_DELETE_DRI_RULE_TYPE</B></PRE>
<DL>
<DD>The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ParentDeleteDRIRuleType.html"><CODE><em>Parent Delete DRI Rule Type</em></CODE></A>' enum.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ParentDeleteDRIRuleType.html"><CODE>ParentDeleteDRIRuleType</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/DatabaseDefinitionPackageImpl.html#getParentDeleteDRIRuleType()"><CODE>DatabaseDefinitionPackageImpl.getParentDeleteDRIRuleType()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="PARENT_UPDATE_DRI_RULE_TYPE"><!-- --></A><H3>
PARENT_UPDATE_DRI_RULE_TYPE</H3>
<PRE>
public static final int <B>PARENT_UPDATE_DRI_RULE_TYPE</B></PRE>
<DL>
<DD>The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ParentUpdateDRIRuleType.html"><CODE><em>Parent Update DRI Rule Type</em></CODE></A>' enum.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ParentUpdateDRIRuleType.html"><CODE>ParentUpdateDRIRuleType</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/DatabaseDefinitionPackageImpl.html#getParentUpdateDRIRuleType()"><CODE>DatabaseDefinitionPackageImpl.getParentUpdateDRIRuleType()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="PROCEDURE_TYPE"><!-- --></A><H3>
PROCEDURE_TYPE</H3>
<PRE>
public static final int <B>PROCEDURE_TYPE</B></PRE>
<DL>
<DD>The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ProcedureType.html"><CODE><em>Procedure Type</em></CODE></A>' enum.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ProcedureType.html"><CODE>ProcedureType</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/DatabaseDefinitionPackageImpl.html#getProcedureType()"><CODE>DatabaseDefinitionPackageImpl.getProcedureType()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="TABLE_SPACE_TYPE"><!-- --></A><H3>
TABLE_SPACE_TYPE</H3>
<PRE>
public static final int <B>TABLE_SPACE_TYPE</B></PRE>
<DL>
<DD>The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceType.html"><CODE><em>Table Space Type</em></CODE></A>' enum.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceType.html"><CODE>TableSpaceType</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/DatabaseDefinitionPackageImpl.html#getTableSpaceType()"><CODE>DatabaseDefinitionPackageImpl.getTableSpaceType()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="PERCENT_FREE_TERMINOLOGY"><!-- --></A><H3>
PERCENT_FREE_TERMINOLOGY</H3>
<PRE>
public static final int <B>PERCENT_FREE_TERMINOLOGY</B></PRE>
<DL>
<DD>The meta object id for the '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PercentFreeTerminology.html"><CODE><em>Percent Free Terminology</em></CODE></A>' enum.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PercentFreeTerminology.html"><CODE>PercentFreeTerminology</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/impl/DatabaseDefinitionPackageImpl.html#getPercentFreeTerminology()"><CODE>DatabaseDefinitionPackageImpl.getPercentFreeTerminology()</CODE></A></DL>
</DD>
</DL>

<!-- ========= CONSTRUCTOR DETAIL ======== -->


<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="getDatabaseVendorDefinition()"><!-- --></A><H3>
getDatabaseVendorDefinition</H3>
<PRE>
public org.eclipse.emf.ecore.EClass <B>getDatabaseVendorDefinition</B>()</PRE>
<DL>
<DD>Returns the meta object for class '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html"><CODE><em>Database Vendor Definition</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for class '<em>Database Vendor Definition</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html"><CODE>DatabaseVendorDefinition</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseVendorDefinition_Vendor()"><!-- --></A><H3>
getDatabaseVendorDefinition_Vendor</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getDatabaseVendorDefinition_Vendor</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getVendor()"><CODE><em>Vendor</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Vendor</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getVendor()"><CODE>DatabaseVendorDefinition.getVendor()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()"><CODE>getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseVendorDefinition_Version()"><!-- --></A><H3>
getDatabaseVendorDefinition_Version</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getDatabaseVendorDefinition_Version</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getVersion()"><CODE><em>Version</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Version</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getVersion()"><CODE>DatabaseVendorDefinition.getVersion()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()"><CODE>getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseVendorDefinition_ConstraintsSupported()"><!-- --></A><H3>
getDatabaseVendorDefinition_ConstraintsSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getDatabaseVendorDefinition_ConstraintsSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isConstraintsSupported()"><CODE><em>Constraints Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Constraints Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isConstraintsSupported()"><CODE>DatabaseVendorDefinition.isConstraintsSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()"><CODE>getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseVendorDefinition_MaximumIdentifierLength()"><!-- --></A><H3>
getDatabaseVendorDefinition_MaximumIdentifierLength</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getDatabaseVendorDefinition_MaximumIdentifierLength</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getMaximumIdentifierLength()"><CODE><em>Maximum Identifier Length</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Maximum Identifier Length</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getMaximumIdentifierLength()"><CODE>DatabaseVendorDefinition.getMaximumIdentifierLength()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()"><CODE>getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseVendorDefinition_TriggerSupported()"><!-- --></A><H3>
getDatabaseVendorDefinition_TriggerSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getDatabaseVendorDefinition_TriggerSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isTriggerSupported()"><CODE><em>Trigger Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Trigger Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isTriggerSupported()"><CODE>DatabaseVendorDefinition.isTriggerSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()"><CODE>getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseVendorDefinition_SnapshotViewSupported()"><!-- --></A><H3>
getDatabaseVendorDefinition_SnapshotViewSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getDatabaseVendorDefinition_SnapshotViewSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isSnapshotViewSupported()"><CODE><em>Snapshot View Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Snapshot View Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isSnapshotViewSupported()"><CODE>DatabaseVendorDefinition.isSnapshotViewSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()"><CODE>getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseVendorDefinition_JoinSupported()"><!-- --></A><H3>
getDatabaseVendorDefinition_JoinSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getDatabaseVendorDefinition_JoinSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isJoinSupported()"><CODE><em>Join Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Join Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isJoinSupported()"><CODE>DatabaseVendorDefinition.isJoinSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()"><CODE>getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseVendorDefinition_ViewTriggerSupported()"><!-- --></A><H3>
getDatabaseVendorDefinition_ViewTriggerSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getDatabaseVendorDefinition_ViewTriggerSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isViewTriggerSupported()"><CODE><em>View Trigger Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>View Trigger Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isViewTriggerSupported()"><CODE>DatabaseVendorDefinition.isViewTriggerSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()"><CODE>getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseVendorDefinition_TablespacesSupported()"><!-- --></A><H3>
getDatabaseVendorDefinition_TablespacesSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getDatabaseVendorDefinition_TablespacesSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isTablespacesSupported()"><CODE><em>Tablespaces Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Tablespaces Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isTablespacesSupported()"><CODE>DatabaseVendorDefinition.isTablespacesSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()"><CODE>getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseVendorDefinition_MaximumCommentLength()"><!-- --></A><H3>
getDatabaseVendorDefinition_MaximumCommentLength</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getDatabaseVendorDefinition_MaximumCommentLength</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getMaximumCommentLength()"><CODE><em>Maximum Comment Length</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Maximum Comment Length</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getMaximumCommentLength()"><CODE>DatabaseVendorDefinition.getMaximumCommentLength()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()"><CODE>getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseVendorDefinition_SequenceSupported()"><!-- --></A><H3>
getDatabaseVendorDefinition_SequenceSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getDatabaseVendorDefinition_SequenceSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isSequenceSupported()"><CODE><em>Sequence Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Sequence Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isSequenceSupported()"><CODE>DatabaseVendorDefinition.isSequenceSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()"><CODE>getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseVendorDefinition_MQTSupported()"><!-- --></A><H3>
getDatabaseVendorDefinition_MQTSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getDatabaseVendorDefinition_MQTSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isMQTSupported()"><CODE><em>MQT Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>MQT Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isMQTSupported()"><CODE>DatabaseVendorDefinition.isMQTSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()"><CODE>getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseVendorDefinition_SchemaSupported()"><!-- --></A><H3>
getDatabaseVendorDefinition_SchemaSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getDatabaseVendorDefinition_SchemaSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isSchemaSupported()"><CODE><em>Schema Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Schema Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isSchemaSupported()"><CODE>DatabaseVendorDefinition.isSchemaSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()"><CODE>getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseVendorDefinition_AliasSupported()"><!-- --></A><H3>
getDatabaseVendorDefinition_AliasSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getDatabaseVendorDefinition_AliasSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isAliasSupported()"><CODE><em>Alias Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Alias Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isAliasSupported()"><CODE>DatabaseVendorDefinition.isAliasSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()"><CODE>getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseVendorDefinition_UserDefinedTypeSupported()"><!-- --></A><H3>
getDatabaseVendorDefinition_UserDefinedTypeSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getDatabaseVendorDefinition_UserDefinedTypeSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isUserDefinedTypeSupported()"><CODE><em>User Defined Type Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>User Defined Type Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isUserDefinedTypeSupported()"><CODE>DatabaseVendorDefinition.isUserDefinedTypeSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()"><CODE>getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseVendorDefinition_DomainSupported()"><!-- --></A><H3>
getDatabaseVendorDefinition_DomainSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getDatabaseVendorDefinition_DomainSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isDomainSupported()"><CODE><em>Domain Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Domain Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isDomainSupported()"><CODE>DatabaseVendorDefinition.isDomainSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()"><CODE>getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseVendorDefinition_SQLStatementSupported()"><!-- --></A><H3>
getDatabaseVendorDefinition_SQLStatementSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getDatabaseVendorDefinition_SQLStatementSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isSQLStatementSupported()"><CODE><em>SQL Statement Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>SQL Statement Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isSQLStatementSupported()"><CODE>DatabaseVendorDefinition.isSQLStatementSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()"><CODE>getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseVendorDefinition_NicknameSupported()"><!-- --></A><H3>
getDatabaseVendorDefinition_NicknameSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getDatabaseVendorDefinition_NicknameSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isNicknameSupported()"><CODE><em>Nickname Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Nickname Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isNicknameSupported()"><CODE>DatabaseVendorDefinition.isNicknameSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()"><CODE>getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseVendorDefinition_NicknameConstraintSupported()"><!-- --></A><H3>
getDatabaseVendorDefinition_NicknameConstraintSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getDatabaseVendorDefinition_NicknameConstraintSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isNicknameConstraintSupported()"><CODE><em>Nickname Constraint Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Nickname Constraint Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#isNicknameConstraintSupported()"><CODE>DatabaseVendorDefinition.isNicknameConstraintSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()"><CODE>getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseVendorDefinition_PredefinedDataTypeDefinitions()"><!-- --></A><H3>
getDatabaseVendorDefinition_PredefinedDataTypeDefinitions</H3>
<PRE>
public org.eclipse.emf.ecore.EReference <B>getDatabaseVendorDefinition_PredefinedDataTypeDefinitions</B>()</PRE>
<DL>
<DD>Returns the meta object for the containment reference list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getPredefinedDataTypeDefinitions()"><CODE><em>Predefined Data Type Definitions</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the containment reference list '<em>Predefined Data Type Definitions</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getPredefinedDataTypeDefinitions()"><CODE>DatabaseVendorDefinition.getPredefinedDataTypeDefinitions()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()"><CODE>getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseVendorDefinition_TableSpaceDefinition()"><!-- --></A><H3>
getDatabaseVendorDefinition_TableSpaceDefinition</H3>
<PRE>
public org.eclipse.emf.ecore.EReference <B>getDatabaseVendorDefinition_TableSpaceDefinition</B>()</PRE>
<DL>
<DD>Returns the meta object for the containment reference '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getTableSpaceDefinition()"><CODE><em>Table Space Definition</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the containment reference '<em>Table Space Definition</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getTableSpaceDefinition()"><CODE>DatabaseVendorDefinition.getTableSpaceDefinition()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()"><CODE>getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseVendorDefinition_StoredProcedureDefinition()"><!-- --></A><H3>
getDatabaseVendorDefinition_StoredProcedureDefinition</H3>
<PRE>
public org.eclipse.emf.ecore.EReference <B>getDatabaseVendorDefinition_StoredProcedureDefinition</B>()</PRE>
<DL>
<DD>Returns the meta object for the containment reference '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getStoredProcedureDefinition()"><CODE><em>Stored Procedure Definition</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the containment reference '<em>Stored Procedure Definition</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getStoredProcedureDefinition()"><CODE>DatabaseVendorDefinition.getStoredProcedureDefinition()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()"><CODE>getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseVendorDefinition_TriggerDefinition()"><!-- --></A><H3>
getDatabaseVendorDefinition_TriggerDefinition</H3>
<PRE>
public org.eclipse.emf.ecore.EReference <B>getDatabaseVendorDefinition_TriggerDefinition</B>()</PRE>
<DL>
<DD>Returns the meta object for the containment reference '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getTriggerDefinition()"><CODE><em>Trigger Definition</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the containment reference '<em>Trigger Definition</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getTriggerDefinition()"><CODE>DatabaseVendorDefinition.getTriggerDefinition()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()"><CODE>getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseVendorDefinition_ColumnDefinition()"><!-- --></A><H3>
getDatabaseVendorDefinition_ColumnDefinition</H3>
<PRE>
public org.eclipse.emf.ecore.EReference <B>getDatabaseVendorDefinition_ColumnDefinition</B>()</PRE>
<DL>
<DD>Returns the meta object for the containment reference '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getColumnDefinition()"><CODE><em>Column Definition</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the containment reference '<em>Column Definition</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getColumnDefinition()"><CODE>DatabaseVendorDefinition.getColumnDefinition()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()"><CODE>getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseVendorDefinition_ConstraintDefinition()"><!-- --></A><H3>
getDatabaseVendorDefinition_ConstraintDefinition</H3>
<PRE>
public org.eclipse.emf.ecore.EReference <B>getDatabaseVendorDefinition_ConstraintDefinition</B>()</PRE>
<DL>
<DD>Returns the meta object for the containment reference '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getConstraintDefinition()"><CODE><em>Constraint Definition</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the containment reference '<em>Constraint Definition</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getConstraintDefinition()"><CODE>DatabaseVendorDefinition.getConstraintDefinition()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()"><CODE>getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseVendorDefinition_ExtendedDefinitions()"><!-- --></A><H3>
getDatabaseVendorDefinition_ExtendedDefinitions</H3>
<PRE>
public org.eclipse.emf.ecore.EReference <B>getDatabaseVendorDefinition_ExtendedDefinitions</B>()</PRE>
<DL>
<DD>Returns the meta object for the containment reference list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getExtendedDefinitions()"><CODE><em>Extended Definitions</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the containment reference list '<em>Extended Definitions</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getExtendedDefinitions()"><CODE>DatabaseVendorDefinition.getExtendedDefinitions()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()"><CODE>getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseVendorDefinition_IndexDefinition()"><!-- --></A><H3>
getDatabaseVendorDefinition_IndexDefinition</H3>
<PRE>
public org.eclipse.emf.ecore.EReference <B>getDatabaseVendorDefinition_IndexDefinition</B>()</PRE>
<DL>
<DD>Returns the meta object for the containment reference '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getIndexDefinition()"><CODE><em>Index Definition</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the containment reference '<em>Index Definition</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getIndexDefinition()"><CODE>DatabaseVendorDefinition.getIndexDefinition()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()"><CODE>getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseVendorDefinition_TableDefinition()"><!-- --></A><H3>
getDatabaseVendorDefinition_TableDefinition</H3>
<PRE>
public org.eclipse.emf.ecore.EReference <B>getDatabaseVendorDefinition_TableDefinition</B>()</PRE>
<DL>
<DD>Returns the meta object for the containment reference '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getTableDefinition()"><CODE><em>Table Definition</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the containment reference '<em>Table Definition</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getTableDefinition()"><CODE>DatabaseVendorDefinition.getTableDefinition()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()"><CODE>getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseVendorDefinition_SequenceDefinition()"><!-- --></A><H3>
getDatabaseVendorDefinition_SequenceDefinition</H3>
<PRE>
public org.eclipse.emf.ecore.EReference <B>getDatabaseVendorDefinition_SequenceDefinition</B>()</PRE>
<DL>
<DD>Returns the meta object for the containment reference '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getSequenceDefinition()"><CODE><em>Sequence Definition</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the containment reference '<em>Sequence Definition</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getSequenceDefinition()"><CODE>DatabaseVendorDefinition.getSequenceDefinition()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()"><CODE>getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseVendorDefinition_UdtDefinition()"><!-- --></A><H3>
getDatabaseVendorDefinition_UdtDefinition</H3>
<PRE>
public org.eclipse.emf.ecore.EReference <B>getDatabaseVendorDefinition_UdtDefinition</B>()</PRE>
<DL>
<DD>Returns the meta object for the containment reference '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getUdtDefinition()"><CODE><em>Udt Definition</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the containment reference '<em>Udt Definition</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getUdtDefinition()"><CODE>DatabaseVendorDefinition.getUdtDefinition()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()"><CODE>getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseVendorDefinition_QueryDefinition()"><!-- --></A><H3>
getDatabaseVendorDefinition_QueryDefinition</H3>
<PRE>
public org.eclipse.emf.ecore.EReference <B>getDatabaseVendorDefinition_QueryDefinition</B>()</PRE>
<DL>
<DD>Returns the meta object for the containment reference '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getQueryDefinition()"><CODE><em>Query Definition</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the containment reference '<em>Query Definition</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getQueryDefinition()"><CODE>DatabaseVendorDefinition.getQueryDefinition()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()"><CODE>getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseVendorDefinition_SQLSyntaxDefinition()"><!-- --></A><H3>
getDatabaseVendorDefinition_SQLSyntaxDefinition</H3>
<PRE>
public org.eclipse.emf.ecore.EReference <B>getDatabaseVendorDefinition_SQLSyntaxDefinition</B>()</PRE>
<DL>
<DD>Returns the meta object for the containment reference '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getSQLSyntaxDefinition()"><CODE><em>SQL Syntax Definition</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the containment reference '<em>SQL Syntax Definition</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html#getSQLSyntaxDefinition()"><CODE>DatabaseVendorDefinition.getSQLSyntaxDefinition()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getDatabaseVendorDefinition()"><CODE>getDatabaseVendorDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPredefinedDataTypeDefinition()"><!-- --></A><H3>
getPredefinedDataTypeDefinition</H3>
<PRE>
public org.eclipse.emf.ecore.EClass <B>getPredefinedDataTypeDefinition</B>()</PRE>
<DL>
<DD>Returns the meta object for class '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html"><CODE><em>Predefined Data Type Definition</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for class '<em>Predefined Data Type Definition</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html"><CODE>PredefinedDataTypeDefinition</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPredefinedDataTypeDefinition_FormatterClassName()"><!-- --></A><H3>
getPredefinedDataTypeDefinition_FormatterClassName</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getPredefinedDataTypeDefinition_FormatterClassName</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getFormatterClassName()"><CODE><em>Formatter Class Name</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Formatter Class Name</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getFormatterClassName()"><CODE>PredefinedDataTypeDefinition.getFormatterClassName()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition()"><CODE>getPredefinedDataTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPredefinedDataTypeDefinition_LengthSupported()"><!-- --></A><H3>
getPredefinedDataTypeDefinition_LengthSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getPredefinedDataTypeDefinition_LengthSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isLengthSupported()"><CODE><em>Length Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Length Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isLengthSupported()"><CODE>PredefinedDataTypeDefinition.isLengthSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition()"><CODE>getPredefinedDataTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPredefinedDataTypeDefinition_ScaleSupported()"><!-- --></A><H3>
getPredefinedDataTypeDefinition_ScaleSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getPredefinedDataTypeDefinition_ScaleSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isScaleSupported()"><CODE><em>Scale Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Scale Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isScaleSupported()"><CODE>PredefinedDataTypeDefinition.isScaleSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition()"><CODE>getPredefinedDataTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPredefinedDataTypeDefinition_PrecisionSupported()"><!-- --></A><H3>
getPredefinedDataTypeDefinition_PrecisionSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getPredefinedDataTypeDefinition_PrecisionSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isPrecisionSupported()"><CODE><em>Precision Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Precision Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isPrecisionSupported()"><CODE>PredefinedDataTypeDefinition.isPrecisionSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition()"><CODE>getPredefinedDataTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPredefinedDataTypeDefinition_KeyConstraintSupported()"><!-- --></A><H3>
getPredefinedDataTypeDefinition_KeyConstraintSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getPredefinedDataTypeDefinition_KeyConstraintSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isKeyConstraintSupported()"><CODE><em>Key Constraint Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Key Constraint Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isKeyConstraintSupported()"><CODE>PredefinedDataTypeDefinition.isKeyConstraintSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition()"><CODE>getPredefinedDataTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPredefinedDataTypeDefinition_IdentitySupported()"><!-- --></A><H3>
getPredefinedDataTypeDefinition_IdentitySupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getPredefinedDataTypeDefinition_IdentitySupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isIdentitySupported()"><CODE><em>Identity Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Identity Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isIdentitySupported()"><CODE>PredefinedDataTypeDefinition.isIdentitySupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition()"><CODE>getPredefinedDataTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPredefinedDataTypeDefinition_MultipleColumnsSupported()"><!-- --></A><H3>
getPredefinedDataTypeDefinition_MultipleColumnsSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getPredefinedDataTypeDefinition_MultipleColumnsSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isMultipleColumnsSupported()"><CODE><em>Multiple Columns Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Multiple Columns Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isMultipleColumnsSupported()"><CODE>PredefinedDataTypeDefinition.isMultipleColumnsSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition()"><CODE>getPredefinedDataTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPredefinedDataTypeDefinition_NullableSupported()"><!-- --></A><H3>
getPredefinedDataTypeDefinition_NullableSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getPredefinedDataTypeDefinition_NullableSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isNullableSupported()"><CODE><em>Nullable Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Nullable Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isNullableSupported()"><CODE>PredefinedDataTypeDefinition.isNullableSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition()"><CODE>getPredefinedDataTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPredefinedDataTypeDefinition_DefaultSupported()"><!-- --></A><H3>
getPredefinedDataTypeDefinition_DefaultSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getPredefinedDataTypeDefinition_DefaultSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isDefaultSupported()"><CODE><em>Default Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Default Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isDefaultSupported()"><CODE>PredefinedDataTypeDefinition.isDefaultSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition()"><CODE>getPredefinedDataTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPredefinedDataTypeDefinition_ClusteringSupported()"><!-- --></A><H3>
getPredefinedDataTypeDefinition_ClusteringSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getPredefinedDataTypeDefinition_ClusteringSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isClusteringSupported()"><CODE><em>Clustering Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Clustering Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isClusteringSupported()"><CODE>PredefinedDataTypeDefinition.isClusteringSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition()"><CODE>getPredefinedDataTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPredefinedDataTypeDefinition_FillFactorSupported()"><!-- --></A><H3>
getPredefinedDataTypeDefinition_FillFactorSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getPredefinedDataTypeDefinition_FillFactorSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isFillFactorSupported()"><CODE><em>Fill Factor Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Fill Factor Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isFillFactorSupported()"><CODE>PredefinedDataTypeDefinition.isFillFactorSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition()"><CODE>getPredefinedDataTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPredefinedDataTypeDefinition_BitDataSupported()"><!-- --></A><H3>
getPredefinedDataTypeDefinition_BitDataSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getPredefinedDataTypeDefinition_BitDataSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isBitDataSupported()"><CODE><em>Bit Data Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Bit Data Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#isBitDataSupported()"><CODE>PredefinedDataTypeDefinition.isBitDataSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition()"><CODE>getPredefinedDataTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPredefinedDataTypeDefinition_MaximumValue()"><!-- --></A><H3>
getPredefinedDataTypeDefinition_MaximumValue</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getPredefinedDataTypeDefinition_MaximumValue</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getMaximumValue()"><CODE><em>Maximum Value</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Maximum Value</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getMaximumValue()"><CODE>PredefinedDataTypeDefinition.getMaximumValue()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition()"><CODE>getPredefinedDataTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPredefinedDataTypeDefinition_MinimumValue()"><!-- --></A><H3>
getPredefinedDataTypeDefinition_MinimumValue</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getPredefinedDataTypeDefinition_MinimumValue</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getMinimumValue()"><CODE><em>Minimum Value</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Minimum Value</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getMinimumValue()"><CODE>PredefinedDataTypeDefinition.getMinimumValue()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition()"><CODE>getPredefinedDataTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPredefinedDataTypeDefinition_MaximumLength()"><!-- --></A><H3>
getPredefinedDataTypeDefinition_MaximumLength</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getPredefinedDataTypeDefinition_MaximumLength</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getMaximumLength()"><CODE><em>Maximum Length</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Maximum Length</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getMaximumLength()"><CODE>PredefinedDataTypeDefinition.getMaximumLength()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition()"><CODE>getPredefinedDataTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPredefinedDataTypeDefinition_MaximumPrecision()"><!-- --></A><H3>
getPredefinedDataTypeDefinition_MaximumPrecision</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getPredefinedDataTypeDefinition_MaximumPrecision</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getMaximumPrecision()"><CODE><em>Maximum Precision</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Maximum Precision</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getMaximumPrecision()"><CODE>PredefinedDataTypeDefinition.getMaximumPrecision()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition()"><CODE>getPredefinedDataTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPredefinedDataTypeDefinition_MaximumScale()"><!-- --></A><H3>
getPredefinedDataTypeDefinition_MaximumScale</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getPredefinedDataTypeDefinition_MaximumScale</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getMaximumScale()"><CODE><em>Maximum Scale</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Maximum Scale</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getMaximumScale()"><CODE>PredefinedDataTypeDefinition.getMaximumScale()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition()"><CODE>getPredefinedDataTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPredefinedDataTypeDefinition_MinimumScale()"><!-- --></A><H3>
getPredefinedDataTypeDefinition_MinimumScale</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getPredefinedDataTypeDefinition_MinimumScale</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getMinimumScale()"><CODE><em>Minimum Scale</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Minimum Scale</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getMinimumScale()"><CODE>PredefinedDataTypeDefinition.getMinimumScale()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition()"><CODE>getPredefinedDataTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPredefinedDataTypeDefinition_DefaultValueTypes()"><!-- --></A><H3>
getPredefinedDataTypeDefinition_DefaultValueTypes</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getPredefinedDataTypeDefinition_DefaultValueTypes</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getDefaultValueTypes()"><CODE><em>Default Value Types</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute list '<em>Default Value Types</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getDefaultValueTypes()"><CODE>PredefinedDataTypeDefinition.getDefaultValueTypes()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition()"><CODE>getPredefinedDataTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPredefinedDataTypeDefinition_PrimitiveType()"><!-- --></A><H3>
getPredefinedDataTypeDefinition_PrimitiveType</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getPredefinedDataTypeDefinition_PrimitiveType</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getPrimitiveType()"><CODE><em>Primitive Type</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Primitive Type</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getPrimitiveType()"><CODE>PredefinedDataTypeDefinition.getPrimitiveType()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition()"><CODE>getPredefinedDataTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPredefinedDataTypeDefinition_Name()"><!-- --></A><H3>
getPredefinedDataTypeDefinition_Name</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getPredefinedDataTypeDefinition_Name</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getName()"><CODE><em>Name</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute list '<em>Name</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getName()"><CODE>PredefinedDataTypeDefinition.getName()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition()"><CODE>getPredefinedDataTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPredefinedDataTypeDefinition_JdbcEnumType()"><!-- --></A><H3>
getPredefinedDataTypeDefinition_JdbcEnumType</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getPredefinedDataTypeDefinition_JdbcEnumType</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getJdbcEnumType()"><CODE><em>Jdbc Enum Type</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Jdbc Enum Type</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getJdbcEnumType()"><CODE>PredefinedDataTypeDefinition.getJdbcEnumType()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition()"><CODE>getPredefinedDataTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPredefinedDataTypeDefinition_CharacterSet()"><!-- --></A><H3>
getPredefinedDataTypeDefinition_CharacterSet</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getPredefinedDataTypeDefinition_CharacterSet</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getCharacterSet()"><CODE><em>Character Set</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute list '<em>Character Set</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getCharacterSet()"><CODE>PredefinedDataTypeDefinition.getCharacterSet()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition()"><CODE>getPredefinedDataTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPredefinedDataTypeDefinition_EncodingScheme()"><!-- --></A><H3>
getPredefinedDataTypeDefinition_EncodingScheme</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getPredefinedDataTypeDefinition_EncodingScheme</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getEncodingScheme()"><CODE><em>Encoding Scheme</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute list '<em>Encoding Scheme</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getEncodingScheme()"><CODE>PredefinedDataTypeDefinition.getEncodingScheme()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition()"><CODE>getPredefinedDataTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPredefinedDataTypeDefinition_CharacterSetSuffix()"><!-- --></A><H3>
getPredefinedDataTypeDefinition_CharacterSetSuffix</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getPredefinedDataTypeDefinition_CharacterSetSuffix</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getCharacterSetSuffix()"><CODE><em>Character Set Suffix</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Character Set Suffix</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getCharacterSetSuffix()"><CODE>PredefinedDataTypeDefinition.getCharacterSetSuffix()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition()"><CODE>getPredefinedDataTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPredefinedDataTypeDefinition_EncodingSchemeSuffix()"><!-- --></A><H3>
getPredefinedDataTypeDefinition_EncodingSchemeSuffix</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getPredefinedDataTypeDefinition_EncodingSchemeSuffix</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getEncodingSchemeSuffix()"><CODE><em>Encoding Scheme Suffix</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Encoding Scheme Suffix</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getEncodingSchemeSuffix()"><CODE>PredefinedDataTypeDefinition.getEncodingSchemeSuffix()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition()"><CODE>getPredefinedDataTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPredefinedDataTypeDefinition_JavaClassName()"><!-- --></A><H3>
getPredefinedDataTypeDefinition_JavaClassName</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getPredefinedDataTypeDefinition_JavaClassName</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getJavaClassName()"><CODE><em>Java Class Name</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Java Class Name</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getJavaClassName()"><CODE>PredefinedDataTypeDefinition.getJavaClassName()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition()"><CODE>getPredefinedDataTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPredefinedDataTypeDefinition_DefaultLength()"><!-- --></A><H3>
getPredefinedDataTypeDefinition_DefaultLength</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getPredefinedDataTypeDefinition_DefaultLength</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getDefaultLength()"><CODE><em>Default Length</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Default Length</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PredefinedDataTypeDefinition.html#getDefaultLength()"><CODE>PredefinedDataTypeDefinition.getDefaultLength()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getPredefinedDataTypeDefinition()"><CODE>getPredefinedDataTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getTableSpaceDefinition()"><!-- --></A><H3>
getTableSpaceDefinition</H3>
<PRE>
public org.eclipse.emf.ecore.EClass <B>getTableSpaceDefinition</B>()</PRE>
<DL>
<DD>Returns the meta object for class '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html"><CODE><em>Table Space Definition</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for class '<em>Table Space Definition</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html"><CODE>TableSpaceDefinition</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getTableSpaceDefinition_TypeSupported()"><!-- --></A><H3>
getTableSpaceDefinition_TypeSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getTableSpaceDefinition_TypeSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#isTypeSupported()"><CODE><em>Type Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Type Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#isTypeSupported()"><CODE>TableSpaceDefinition.isTypeSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableSpaceDefinition()"><CODE>getTableSpaceDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getTableSpaceDefinition_ExtentSizeSupported()"><!-- --></A><H3>
getTableSpaceDefinition_ExtentSizeSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getTableSpaceDefinition_ExtentSizeSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#isExtentSizeSupported()"><CODE><em>Extent Size Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Extent Size Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#isExtentSizeSupported()"><CODE>TableSpaceDefinition.isExtentSizeSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableSpaceDefinition()"><CODE>getTableSpaceDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getTableSpaceDefinition_PrefetchSizeSupported()"><!-- --></A><H3>
getTableSpaceDefinition_PrefetchSizeSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getTableSpaceDefinition_PrefetchSizeSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#isPrefetchSizeSupported()"><CODE><em>Prefetch Size Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Prefetch Size Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#isPrefetchSizeSupported()"><CODE>TableSpaceDefinition.isPrefetchSizeSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableSpaceDefinition()"><CODE>getTableSpaceDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getTableSpaceDefinition_ManagedBySupported()"><!-- --></A><H3>
getTableSpaceDefinition_ManagedBySupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getTableSpaceDefinition_ManagedBySupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#isManagedBySupported()"><CODE><em>Managed By Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Managed By Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#isManagedBySupported()"><CODE>TableSpaceDefinition.isManagedBySupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableSpaceDefinition()"><CODE>getTableSpaceDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getTableSpaceDefinition_PageSizeSupported()"><!-- --></A><H3>
getTableSpaceDefinition_PageSizeSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getTableSpaceDefinition_PageSizeSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#isPageSizeSupported()"><CODE><em>Page Size Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Page Size Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#isPageSizeSupported()"><CODE>TableSpaceDefinition.isPageSizeSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableSpaceDefinition()"><CODE>getTableSpaceDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getTableSpaceDefinition_BufferPoolSupported()"><!-- --></A><H3>
getTableSpaceDefinition_BufferPoolSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getTableSpaceDefinition_BufferPoolSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#isBufferPoolSupported()"><CODE><em>Buffer Pool Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Buffer Pool Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#isBufferPoolSupported()"><CODE>TableSpaceDefinition.isBufferPoolSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableSpaceDefinition()"><CODE>getTableSpaceDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getTableSpaceDefinition_DefaultSupported()"><!-- --></A><H3>
getTableSpaceDefinition_DefaultSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getTableSpaceDefinition_DefaultSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#isDefaultSupported()"><CODE><em>Default Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Default Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#isDefaultSupported()"><CODE>TableSpaceDefinition.isDefaultSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableSpaceDefinition()"><CODE>getTableSpaceDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getTableSpaceDefinition_ContainerMaximumSizeSupported()"><!-- --></A><H3>
getTableSpaceDefinition_ContainerMaximumSizeSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getTableSpaceDefinition_ContainerMaximumSizeSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#isContainerMaximumSizeSupported()"><CODE><em>Container Maximum Size Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Container Maximum Size Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#isContainerMaximumSizeSupported()"><CODE>TableSpaceDefinition.isContainerMaximumSizeSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableSpaceDefinition()"><CODE>getTableSpaceDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getTableSpaceDefinition_ContainerInitialSizeSupported()"><!-- --></A><H3>
getTableSpaceDefinition_ContainerInitialSizeSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getTableSpaceDefinition_ContainerInitialSizeSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#isContainerInitialSizeSupported()"><CODE><em>Container Initial Size Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Container Initial Size Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#isContainerInitialSizeSupported()"><CODE>TableSpaceDefinition.isContainerInitialSizeSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableSpaceDefinition()"><CODE>getTableSpaceDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getTableSpaceDefinition_ContainerExtentSizeSupported()"><!-- --></A><H3>
getTableSpaceDefinition_ContainerExtentSizeSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getTableSpaceDefinition_ContainerExtentSizeSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#isContainerExtentSizeSupported()"><CODE><em>Container Extent Size Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Container Extent Size Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#isContainerExtentSizeSupported()"><CODE>TableSpaceDefinition.isContainerExtentSizeSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableSpaceDefinition()"><CODE>getTableSpaceDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getTableSpaceDefinition_TableSpaceType()"><!-- --></A><H3>
getTableSpaceDefinition_TableSpaceType</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getTableSpaceDefinition_TableSpaceType</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#getTableSpaceType()"><CODE><em>Table Space Type</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute list '<em>Table Space Type</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceDefinition.html#getTableSpaceType()"><CODE>TableSpaceDefinition.getTableSpaceType()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableSpaceDefinition()"><CODE>getTableSpaceDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getStoredProcedureDefinition()"><!-- --></A><H3>
getStoredProcedureDefinition</H3>
<PRE>
public org.eclipse.emf.ecore.EClass <B>getStoredProcedureDefinition</B>()</PRE>
<DL>
<DD>Returns the meta object for class '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html"><CODE><em>Stored Procedure Definition</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for class '<em>Stored Procedure Definition</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html"><CODE>StoredProcedureDefinition</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getStoredProcedureDefinition_NullInputActionSupported()"><!-- --></A><H3>
getStoredProcedureDefinition_NullInputActionSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getStoredProcedureDefinition_NullInputActionSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#isNullInputActionSupported()"><CODE><em>Null Input Action Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Null Input Action Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#isNullInputActionSupported()"><CODE>StoredProcedureDefinition.isNullInputActionSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getStoredProcedureDefinition()"><CODE>getStoredProcedureDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getStoredProcedureDefinition_PackageGenerationSupported()"><!-- --></A><H3>
getStoredProcedureDefinition_PackageGenerationSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getStoredProcedureDefinition_PackageGenerationSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#isPackageGenerationSupported()"><CODE><em>Package Generation Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Package Generation Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#isPackageGenerationSupported()"><CODE>StoredProcedureDefinition.isPackageGenerationSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getStoredProcedureDefinition()"><CODE>getStoredProcedureDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getStoredProcedureDefinition_DetermininsticSupported()"><!-- --></A><H3>
getStoredProcedureDefinition_DetermininsticSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getStoredProcedureDefinition_DetermininsticSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#isDetermininsticSupported()"><CODE><em>Determininstic Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Determininstic Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#isDetermininsticSupported()"><CODE>StoredProcedureDefinition.isDetermininsticSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getStoredProcedureDefinition()"><CODE>getStoredProcedureDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getStoredProcedureDefinition_ReturnedNullSupported()"><!-- --></A><H3>
getStoredProcedureDefinition_ReturnedNullSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getStoredProcedureDefinition_ReturnedNullSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#isReturnedNullSupported()"><CODE><em>Returned Null Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Returned Null Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#isReturnedNullSupported()"><CODE>StoredProcedureDefinition.isReturnedNullSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getStoredProcedureDefinition()"><CODE>getStoredProcedureDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getStoredProcedureDefinition_ReturnedTypeDeclarationConstraintSupported()"><!-- --></A><H3>
getStoredProcedureDefinition_ReturnedTypeDeclarationConstraintSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getStoredProcedureDefinition_ReturnedTypeDeclarationConstraintSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#isReturnedTypeDeclarationConstraintSupported()"><CODE><em>Returned Type Declaration Constraint Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Returned Type Declaration Constraint Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#isReturnedTypeDeclarationConstraintSupported()"><CODE>StoredProcedureDefinition.isReturnedTypeDeclarationConstraintSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getStoredProcedureDefinition()"><CODE>getStoredProcedureDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getStoredProcedureDefinition_ParameterInitValueSupported()"><!-- --></A><H3>
getStoredProcedureDefinition_ParameterInitValueSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getStoredProcedureDefinition_ParameterInitValueSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#isParameterInitValueSupported()"><CODE><em>Parameter Init Value Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Parameter Init Value Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#isParameterInitValueSupported()"><CODE>StoredProcedureDefinition.isParameterInitValueSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getStoredProcedureDefinition()"><CODE>getStoredProcedureDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getStoredProcedureDefinition_ParameterStyleSupported()"><!-- --></A><H3>
getStoredProcedureDefinition_ParameterStyleSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getStoredProcedureDefinition_ParameterStyleSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#isParameterStyleSupported()"><CODE><em>Parameter Style Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Parameter Style Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#isParameterStyleSupported()"><CODE>StoredProcedureDefinition.isParameterStyleSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getStoredProcedureDefinition()"><CODE>getStoredProcedureDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getStoredProcedureDefinition_ReturnTypeSupported()"><!-- --></A><H3>
getStoredProcedureDefinition_ReturnTypeSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getStoredProcedureDefinition_ReturnTypeSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#isReturnTypeSupported()"><CODE><em>Return Type Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Return Type Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#isReturnTypeSupported()"><CODE>StoredProcedureDefinition.isReturnTypeSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getStoredProcedureDefinition()"><CODE>getStoredProcedureDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getStoredProcedureDefinition_ParameterDeclarationConstraintSupported()"><!-- --></A><H3>
getStoredProcedureDefinition_ParameterDeclarationConstraintSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getStoredProcedureDefinition_ParameterDeclarationConstraintSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#isParameterDeclarationConstraintSupported()"><CODE><em>Parameter Declaration Constraint Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Parameter Declaration Constraint Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#isParameterDeclarationConstraintSupported()"><CODE>StoredProcedureDefinition.isParameterDeclarationConstraintSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getStoredProcedureDefinition()"><CODE>getStoredProcedureDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getStoredProcedureDefinition_MaximumActionBodyLength()"><!-- --></A><H3>
getStoredProcedureDefinition_MaximumActionBodyLength</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getStoredProcedureDefinition_MaximumActionBodyLength</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#getMaximumActionBodyLength()"><CODE><em>Maximum Action Body Length</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Maximum Action Body Length</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#getMaximumActionBodyLength()"><CODE>StoredProcedureDefinition.getMaximumActionBodyLength()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getStoredProcedureDefinition()"><CODE>getStoredProcedureDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getStoredProcedureDefinition_ParameterStyle()"><!-- --></A><H3>
getStoredProcedureDefinition_ParameterStyle</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getStoredProcedureDefinition_ParameterStyle</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#getParameterStyle()"><CODE><em>Parameter Style</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute list '<em>Parameter Style</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#getParameterStyle()"><CODE>StoredProcedureDefinition.getParameterStyle()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getStoredProcedureDefinition()"><CODE>getStoredProcedureDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getStoredProcedureDefinition_LanguageType()"><!-- --></A><H3>
getStoredProcedureDefinition_LanguageType</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getStoredProcedureDefinition_LanguageType</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#getLanguageType()"><CODE><em>Language Type</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute list '<em>Language Type</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#getLanguageType()"><CODE>StoredProcedureDefinition.getLanguageType()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getStoredProcedureDefinition()"><CODE>getStoredProcedureDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getStoredProcedureDefinition_FunctionLanguageType()"><!-- --></A><H3>
getStoredProcedureDefinition_FunctionLanguageType</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getStoredProcedureDefinition_FunctionLanguageType</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#getFunctionLanguageType()"><CODE><em>Function Language Type</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute list '<em>Function Language Type</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#getFunctionLanguageType()"><CODE>StoredProcedureDefinition.getFunctionLanguageType()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getStoredProcedureDefinition()"><CODE>getStoredProcedureDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getStoredProcedureDefinition_ProcedureType()"><!-- --></A><H3>
getStoredProcedureDefinition_ProcedureType</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getStoredProcedureDefinition_ProcedureType</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#getProcedureType()"><CODE><em>Procedure Type</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute list '<em>Procedure Type</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/StoredProcedureDefinition.html#getProcedureType()"><CODE>StoredProcedureDefinition.getProcedureType()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getStoredProcedureDefinition()"><CODE>getStoredProcedureDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getTriggerDefinition()"><!-- --></A><H3>
getTriggerDefinition</H3>
<PRE>
public org.eclipse.emf.ecore.EClass <B>getTriggerDefinition</B>()</PRE>
<DL>
<DD>Returns the meta object for class '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html"><CODE><em>Trigger Definition</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for class '<em>Trigger Definition</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html"><CODE>TriggerDefinition</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getTriggerDefinition_MaximumReferencePartLength()"><!-- --></A><H3>
getTriggerDefinition_MaximumReferencePartLength</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getTriggerDefinition_MaximumReferencePartLength</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html#getMaximumReferencePartLength()"><CODE><em>Maximum Reference Part Length</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Maximum Reference Part Length</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html#getMaximumReferencePartLength()"><CODE>TriggerDefinition.getMaximumReferencePartLength()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTriggerDefinition()"><CODE>getTriggerDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getTriggerDefinition_MaximumActionBodyLength()"><!-- --></A><H3>
getTriggerDefinition_MaximumActionBodyLength</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getTriggerDefinition_MaximumActionBodyLength</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html#getMaximumActionBodyLength()"><CODE><em>Maximum Action Body Length</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Maximum Action Body Length</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html#getMaximumActionBodyLength()"><CODE>TriggerDefinition.getMaximumActionBodyLength()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTriggerDefinition()"><CODE>getTriggerDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getTriggerDefinition_TypeSupported()"><!-- --></A><H3>
getTriggerDefinition_TypeSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getTriggerDefinition_TypeSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html#isTypeSupported()"><CODE><em>Type Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Type Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html#isTypeSupported()"><CODE>TriggerDefinition.isTypeSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTriggerDefinition()"><CODE>getTriggerDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getTriggerDefinition_WhenClauseSupported()"><!-- --></A><H3>
getTriggerDefinition_WhenClauseSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getTriggerDefinition_WhenClauseSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html#isWhenClauseSupported()"><CODE><em>When Clause Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>When Clause Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html#isWhenClauseSupported()"><CODE>TriggerDefinition.isWhenClauseSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTriggerDefinition()"><CODE>getTriggerDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getTriggerDefinition_GranularitySupported()"><!-- --></A><H3>
getTriggerDefinition_GranularitySupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getTriggerDefinition_GranularitySupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html#isGranularitySupported()"><CODE><em>Granularity Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Granularity Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html#isGranularitySupported()"><CODE>TriggerDefinition.isGranularitySupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTriggerDefinition()"><CODE>getTriggerDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getTriggerDefinition_ReferencesClauseSupported()"><!-- --></A><H3>
getTriggerDefinition_ReferencesClauseSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getTriggerDefinition_ReferencesClauseSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html#isReferencesClauseSupported()"><CODE><em>References Clause Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>References Clause Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html#isReferencesClauseSupported()"><CODE>TriggerDefinition.isReferencesClauseSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTriggerDefinition()"><CODE>getTriggerDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getTriggerDefinition_PerColumnUpdateTriggerSupported()"><!-- --></A><H3>
getTriggerDefinition_PerColumnUpdateTriggerSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getTriggerDefinition_PerColumnUpdateTriggerSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html#isPerColumnUpdateTriggerSupported()"><CODE><em>Per Column Update Trigger Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Per Column Update Trigger Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html#isPerColumnUpdateTriggerSupported()"><CODE>TriggerDefinition.isPerColumnUpdateTriggerSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTriggerDefinition()"><CODE>getTriggerDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getTriggerDefinition_InsteadOfTriggerSupported()"><!-- --></A><H3>
getTriggerDefinition_InsteadOfTriggerSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getTriggerDefinition_InsteadOfTriggerSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html#isInsteadOfTriggerSupported()"><CODE><em>Instead Of Trigger Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Instead Of Trigger Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html#isInsteadOfTriggerSupported()"><CODE>TriggerDefinition.isInsteadOfTriggerSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTriggerDefinition()"><CODE>getTriggerDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getTriggerDefinition_RowTriggerReferenceSupported()"><!-- --></A><H3>
getTriggerDefinition_RowTriggerReferenceSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getTriggerDefinition_RowTriggerReferenceSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html#isRowTriggerReferenceSupported()"><CODE><em>Row Trigger Reference Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Row Trigger Reference Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html#isRowTriggerReferenceSupported()"><CODE>TriggerDefinition.isRowTriggerReferenceSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTriggerDefinition()"><CODE>getTriggerDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getTriggerDefinition_TableTriggerReferenceSupported()"><!-- --></A><H3>
getTriggerDefinition_TableTriggerReferenceSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getTriggerDefinition_TableTriggerReferenceSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html#isTableTriggerReferenceSupported()"><CODE><em>Table Trigger Reference Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Table Trigger Reference Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TriggerDefinition.html#isTableTriggerReferenceSupported()"><CODE>TriggerDefinition.isTableTriggerReferenceSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTriggerDefinition()"><CODE>getTriggerDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getColumnDefinition()"><!-- --></A><H3>
getColumnDefinition</H3>
<PRE>
public org.eclipse.emf.ecore.EClass <B>getColumnDefinition</B>()</PRE>
<DL>
<DD>Returns the meta object for class '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ColumnDefinition.html"><CODE><em>Column Definition</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for class '<em>Column Definition</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ColumnDefinition.html"><CODE>ColumnDefinition</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getColumnDefinition_IdentitySupported()"><!-- --></A><H3>
getColumnDefinition_IdentitySupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getColumnDefinition_IdentitySupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ColumnDefinition.html#isIdentitySupported()"><CODE><em>Identity Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Identity Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ColumnDefinition.html#isIdentitySupported()"><CODE>ColumnDefinition.isIdentitySupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getColumnDefinition()"><CODE>getColumnDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getColumnDefinition_ComputedSupported()"><!-- --></A><H3>
getColumnDefinition_ComputedSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getColumnDefinition_ComputedSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ColumnDefinition.html#isComputedSupported()"><CODE><em>Computed Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Computed Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ColumnDefinition.html#isComputedSupported()"><CODE>ColumnDefinition.isComputedSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getColumnDefinition()"><CODE>getColumnDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getColumnDefinition_IdentityStartValueSupported()"><!-- --></A><H3>
getColumnDefinition_IdentityStartValueSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getColumnDefinition_IdentityStartValueSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ColumnDefinition.html#isIdentityStartValueSupported()"><CODE><em>Identity Start Value Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Identity Start Value Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ColumnDefinition.html#isIdentityStartValueSupported()"><CODE>ColumnDefinition.isIdentityStartValueSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getColumnDefinition()"><CODE>getColumnDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getColumnDefinition_IdentityIncrementSupported()"><!-- --></A><H3>
getColumnDefinition_IdentityIncrementSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getColumnDefinition_IdentityIncrementSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ColumnDefinition.html#isIdentityIncrementSupported()"><CODE><em>Identity Increment Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Identity Increment Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ColumnDefinition.html#isIdentityIncrementSupported()"><CODE>ColumnDefinition.isIdentityIncrementSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getColumnDefinition()"><CODE>getColumnDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getColumnDefinition_IdentityMinimumSupported()"><!-- --></A><H3>
getColumnDefinition_IdentityMinimumSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getColumnDefinition_IdentityMinimumSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ColumnDefinition.html#isIdentityMinimumSupported()"><CODE><em>Identity Minimum Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Identity Minimum Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ColumnDefinition.html#isIdentityMinimumSupported()"><CODE>ColumnDefinition.isIdentityMinimumSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getColumnDefinition()"><CODE>getColumnDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getColumnDefinition_IdentityMaximumSupported()"><!-- --></A><H3>
getColumnDefinition_IdentityMaximumSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getColumnDefinition_IdentityMaximumSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ColumnDefinition.html#isIdentityMaximumSupported()"><CODE><em>Identity Maximum Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Identity Maximum Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ColumnDefinition.html#isIdentityMaximumSupported()"><CODE>ColumnDefinition.isIdentityMaximumSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getColumnDefinition()"><CODE>getColumnDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getColumnDefinition_IdentityCycleSupported()"><!-- --></A><H3>
getColumnDefinition_IdentityCycleSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getColumnDefinition_IdentityCycleSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ColumnDefinition.html#isIdentityCycleSupported()"><CODE><em>Identity Cycle Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Identity Cycle Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ColumnDefinition.html#isIdentityCycleSupported()"><CODE>ColumnDefinition.isIdentityCycleSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getColumnDefinition()"><CODE>getColumnDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getConstraintDefinition()"><!-- --></A><H3>
getConstraintDefinition</H3>
<PRE>
public org.eclipse.emf.ecore.EClass <B>getConstraintDefinition</B>()</PRE>
<DL>
<DD>Returns the meta object for class '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html"><CODE><em>Constraint Definition</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for class '<em>Constraint Definition</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html"><CODE>ConstraintDefinition</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getConstraintDefinition_DeferrableConstraintSupported()"><!-- --></A><H3>
getConstraintDefinition_DeferrableConstraintSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getConstraintDefinition_DeferrableConstraintSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html#isDeferrableConstraintSupported()"><CODE><em>Deferrable Constraint Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Deferrable Constraint Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html#isDeferrableConstraintSupported()"><CODE>ConstraintDefinition.isDeferrableConstraintSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getConstraintDefinition()"><CODE>getConstraintDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getConstraintDefinition_InformationalConstraintSupported()"><!-- --></A><H3>
getConstraintDefinition_InformationalConstraintSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getConstraintDefinition_InformationalConstraintSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html#isInformationalConstraintSupported()"><CODE><em>Informational Constraint Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Informational Constraint Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html#isInformationalConstraintSupported()"><CODE>ConstraintDefinition.isInformationalConstraintSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getConstraintDefinition()"><CODE>getConstraintDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getConstraintDefinition_ClusteredPrimaryKeySupported()"><!-- --></A><H3>
getConstraintDefinition_ClusteredPrimaryKeySupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getConstraintDefinition_ClusteredPrimaryKeySupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html#isClusteredPrimaryKeySupported()"><CODE><em>Clustered Primary Key Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Clustered Primary Key Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html#isClusteredPrimaryKeySupported()"><CODE>ConstraintDefinition.isClusteredPrimaryKeySupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getConstraintDefinition()"><CODE>getConstraintDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getConstraintDefinition_ClusteredUniqueConstraintSupported()"><!-- --></A><H3>
getConstraintDefinition_ClusteredUniqueConstraintSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getConstraintDefinition_ClusteredUniqueConstraintSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html#isClusteredUniqueConstraintSupported()"><CODE><em>Clustered Unique Constraint Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Clustered Unique Constraint Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html#isClusteredUniqueConstraintSupported()"><CODE>ConstraintDefinition.isClusteredUniqueConstraintSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getConstraintDefinition()"><CODE>getConstraintDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getConstraintDefinition_PrimaryKeyNullable()"><!-- --></A><H3>
getConstraintDefinition_PrimaryKeyNullable</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getConstraintDefinition_PrimaryKeyNullable</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html#isPrimaryKeyNullable()"><CODE><em>Primary Key Nullable</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Primary Key Nullable</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html#isPrimaryKeyNullable()"><CODE>ConstraintDefinition.isPrimaryKeyNullable()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getConstraintDefinition()"><CODE>getConstraintDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getConstraintDefinition_UniqueKeyNullable()"><!-- --></A><H3>
getConstraintDefinition_UniqueKeyNullable</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getConstraintDefinition_UniqueKeyNullable</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html#isUniqueKeyNullable()"><CODE><em>Unique Key Nullable</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Unique Key Nullable</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html#isUniqueKeyNullable()"><CODE>ConstraintDefinition.isUniqueKeyNullable()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getConstraintDefinition()"><CODE>getConstraintDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getConstraintDefinition_MaximumCheckExpressionLength()"><!-- --></A><H3>
getConstraintDefinition_MaximumCheckExpressionLength</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getConstraintDefinition_MaximumCheckExpressionLength</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html#getMaximumCheckExpressionLength()"><CODE><em>Maximum Check Expression Length</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Maximum Check Expression Length</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html#getMaximumCheckExpressionLength()"><CODE>ConstraintDefinition.getMaximumCheckExpressionLength()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getConstraintDefinition()"><CODE>getConstraintDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getConstraintDefinition_ParentUpdateDRIRuleType()"><!-- --></A><H3>
getConstraintDefinition_ParentUpdateDRIRuleType</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getConstraintDefinition_ParentUpdateDRIRuleType</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html#getParentUpdateDRIRuleType()"><CODE><em>Parent Update DRI Rule Type</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute list '<em>Parent Update DRI Rule Type</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html#getParentUpdateDRIRuleType()"><CODE>ConstraintDefinition.getParentUpdateDRIRuleType()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getConstraintDefinition()"><CODE>getConstraintDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getConstraintDefinition_ParentDeleteDRIRuleType()"><!-- --></A><H3>
getConstraintDefinition_ParentDeleteDRIRuleType</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getConstraintDefinition_ParentDeleteDRIRuleType</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html#getParentDeleteDRIRuleType()"><CODE><em>Parent Delete DRI Rule Type</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute list '<em>Parent Delete DRI Rule Type</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html#getParentDeleteDRIRuleType()"><CODE>ConstraintDefinition.getParentDeleteDRIRuleType()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getConstraintDefinition()"><CODE>getConstraintDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getConstraintDefinition_CheckOption()"><!-- --></A><H3>
getConstraintDefinition_CheckOption</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getConstraintDefinition_CheckOption</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html#getCheckOption()"><CODE><em>Check Option</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute list '<em>Check Option</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ConstraintDefinition.html#getCheckOption()"><CODE>ConstraintDefinition.getCheckOption()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getConstraintDefinition()"><CODE>getConstraintDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getIndexDefinition()"><!-- --></A><H3>
getIndexDefinition</H3>
<PRE>
public org.eclipse.emf.ecore.EClass <B>getIndexDefinition</B>()</PRE>
<DL>
<DD>Returns the meta object for class '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/IndexDefinition.html"><CODE><em>Index Definition</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for class '<em>Index Definition</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/IndexDefinition.html"><CODE>IndexDefinition</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getIndexDefinition_PercentFreeTerminology()"><!-- --></A><H3>
getIndexDefinition_PercentFreeTerminology</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getIndexDefinition_PercentFreeTerminology</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/IndexDefinition.html#getPercentFreeTerminology()"><CODE><em>Percent Free Terminology</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Percent Free Terminology</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/IndexDefinition.html#getPercentFreeTerminology()"><CODE>IndexDefinition.getPercentFreeTerminology()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getIndexDefinition()"><CODE>getIndexDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getIndexDefinition_PercentFreeChangeable()"><!-- --></A><H3>
getIndexDefinition_PercentFreeChangeable</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getIndexDefinition_PercentFreeChangeable</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/IndexDefinition.html#isPercentFreeChangeable()"><CODE><em>Percent Free Changeable</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Percent Free Changeable</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/IndexDefinition.html#isPercentFreeChangeable()"><CODE>IndexDefinition.isPercentFreeChangeable()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getIndexDefinition()"><CODE>getIndexDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getIndexDefinition_ClusteringSupported()"><!-- --></A><H3>
getIndexDefinition_ClusteringSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getIndexDefinition_ClusteringSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/IndexDefinition.html#isClusteringSupported()"><CODE><em>Clustering Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Clustering Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/IndexDefinition.html#isClusteringSupported()"><CODE>IndexDefinition.isClusteringSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getIndexDefinition()"><CODE>getIndexDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getIndexDefinition_ClusterChangeable()"><!-- --></A><H3>
getIndexDefinition_ClusterChangeable</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getIndexDefinition_ClusterChangeable</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/IndexDefinition.html#isClusterChangeable()"><CODE><em>Cluster Changeable</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Cluster Changeable</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/IndexDefinition.html#isClusterChangeable()"><CODE>IndexDefinition.isClusterChangeable()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getIndexDefinition()"><CODE>getIndexDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getIndexDefinition_FillFactorSupported()"><!-- --></A><H3>
getIndexDefinition_FillFactorSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getIndexDefinition_FillFactorSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/IndexDefinition.html#isFillFactorSupported()"><CODE><em>Fill Factor Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Fill Factor Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/IndexDefinition.html#isFillFactorSupported()"><CODE>IndexDefinition.isFillFactorSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getIndexDefinition()"><CODE>getIndexDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getIndexDefinition_IncludedColumnsSupported()"><!-- --></A><H3>
getIndexDefinition_IncludedColumnsSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getIndexDefinition_IncludedColumnsSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/IndexDefinition.html#isIncludedColumnsSupported()"><CODE><em>Included Columns Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Included Columns Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/IndexDefinition.html#isIncludedColumnsSupported()"><CODE>IndexDefinition.isIncludedColumnsSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getIndexDefinition()"><CODE>getIndexDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getExtendedDefinition()"><!-- --></A><H3>
getExtendedDefinition</H3>
<PRE>
public org.eclipse.emf.ecore.EClass <B>getExtendedDefinition</B>()</PRE>
<DL>
<DD>Returns the meta object for class '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ExtendedDefinition.html"><CODE><em>Extended Definition</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for class '<em>Extended Definition</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ExtendedDefinition.html"><CODE>ExtendedDefinition</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getExtendedDefinition_Name()"><!-- --></A><H3>
getExtendedDefinition_Name</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getExtendedDefinition_Name</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ExtendedDefinition.html#getName()"><CODE><em>Name</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Name</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ExtendedDefinition.html#getName()"><CODE>ExtendedDefinition.getName()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getExtendedDefinition()"><CODE>getExtendedDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getExtendedDefinition_Value()"><!-- --></A><H3>
getExtendedDefinition_Value</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getExtendedDefinition_Value</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ExtendedDefinition.html#getValue()"><CODE><em>Value</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Value</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ExtendedDefinition.html#getValue()"><CODE>ExtendedDefinition.getValue()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getExtendedDefinition()"><CODE>getExtendedDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getTableDefinition()"><!-- --></A><H3>
getTableDefinition</H3>
<PRE>
public org.eclipse.emf.ecore.EClass <B>getTableDefinition</B>()</PRE>
<DL>
<DD>Returns the meta object for class '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableDefinition.html"><CODE><em>Table Definition</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for class '<em>Table Definition</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableDefinition.html"><CODE>TableDefinition</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getTableDefinition_AuditSupported()"><!-- --></A><H3>
getTableDefinition_AuditSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getTableDefinition_AuditSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableDefinition.html#isAuditSupported()"><CODE><em>Audit Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Audit Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableDefinition.html#isAuditSupported()"><CODE>TableDefinition.isAuditSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableDefinition()"><CODE>getTableDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getTableDefinition_DataCaptureSupported()"><!-- --></A><H3>
getTableDefinition_DataCaptureSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getTableDefinition_DataCaptureSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableDefinition.html#isDataCaptureSupported()"><CODE><em>Data Capture Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Data Capture Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableDefinition.html#isDataCaptureSupported()"><CODE>TableDefinition.isDataCaptureSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableDefinition()"><CODE>getTableDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getTableDefinition_EditProcSupported()"><!-- --></A><H3>
getTableDefinition_EditProcSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getTableDefinition_EditProcSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableDefinition.html#isEditProcSupported()"><CODE><em>Edit Proc Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Edit Proc Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableDefinition.html#isEditProcSupported()"><CODE>TableDefinition.isEditProcSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableDefinition()"><CODE>getTableDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getTableDefinition_EncodingSupported()"><!-- --></A><H3>
getTableDefinition_EncodingSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getTableDefinition_EncodingSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableDefinition.html#isEncodingSupported()"><CODE><em>Encoding Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Encoding Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableDefinition.html#isEncodingSupported()"><CODE>TableDefinition.isEncodingSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableDefinition()"><CODE>getTableDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getTableDefinition_ValidProcSupported()"><!-- --></A><H3>
getTableDefinition_ValidProcSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getTableDefinition_ValidProcSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableDefinition.html#isValidProcSupported()"><CODE><em>Valid Proc Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Valid Proc Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableDefinition.html#isValidProcSupported()"><CODE>TableDefinition.isValidProcSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getTableDefinition()"><CODE>getTableDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getSequenceDefinition()"><!-- --></A><H3>
getSequenceDefinition</H3>
<PRE>
public org.eclipse.emf.ecore.EClass <B>getSequenceDefinition</B>()</PRE>
<DL>
<DD>Returns the meta object for class '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SequenceDefinition.html"><CODE><em>Sequence Definition</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for class '<em>Sequence Definition</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SequenceDefinition.html"><CODE>SequenceDefinition</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getSequenceDefinition_PredefinedDataTypeDefinitions()"><!-- --></A><H3>
getSequenceDefinition_PredefinedDataTypeDefinitions</H3>
<PRE>
public org.eclipse.emf.ecore.EReference <B>getSequenceDefinition_PredefinedDataTypeDefinitions</B>()</PRE>
<DL>
<DD>Returns the meta object for the reference list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SequenceDefinition.html#getPredefinedDataTypeDefinitions()"><CODE><em>Predefined Data Type Definitions</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the reference list '<em>Predefined Data Type Definitions</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SequenceDefinition.html#getPredefinedDataTypeDefinitions()"><CODE>SequenceDefinition.getPredefinedDataTypeDefinitions()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getSequenceDefinition()"><CODE>getSequenceDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getSequenceDefinition_TypeEnumerationSupported()"><!-- --></A><H3>
getSequenceDefinition_TypeEnumerationSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getSequenceDefinition_TypeEnumerationSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SequenceDefinition.html#isTypeEnumerationSupported()"><CODE><em>Type Enumeration Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Type Enumeration Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SequenceDefinition.html#isTypeEnumerationSupported()"><CODE>SequenceDefinition.isTypeEnumerationSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getSequenceDefinition()"><CODE>getSequenceDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getSequenceDefinition_CacheSupported()"><!-- --></A><H3>
getSequenceDefinition_CacheSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getSequenceDefinition_CacheSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SequenceDefinition.html#isCacheSupported()"><CODE><em>Cache Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Cache Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SequenceDefinition.html#isCacheSupported()"><CODE>SequenceDefinition.isCacheSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getSequenceDefinition()"><CODE>getSequenceDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getSequenceDefinition_OrderSupported()"><!-- --></A><H3>
getSequenceDefinition_OrderSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getSequenceDefinition_OrderSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SequenceDefinition.html#isOrderSupported()"><CODE><em>Order Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Order Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SequenceDefinition.html#isOrderSupported()"><CODE>SequenceDefinition.isOrderSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getSequenceDefinition()"><CODE>getSequenceDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getSequenceDefinition_NoMaximumValueString()"><!-- --></A><H3>
getSequenceDefinition_NoMaximumValueString</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getSequenceDefinition_NoMaximumValueString</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SequenceDefinition.html#getNoMaximumValueString()"><CODE><em>No Maximum Value String</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>No Maximum Value String</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SequenceDefinition.html#getNoMaximumValueString()"><CODE>SequenceDefinition.getNoMaximumValueString()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getSequenceDefinition()"><CODE>getSequenceDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getSequenceDefinition_NoMinimumValueString()"><!-- --></A><H3>
getSequenceDefinition_NoMinimumValueString</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getSequenceDefinition_NoMinimumValueString</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SequenceDefinition.html#getNoMinimumValueString()"><CODE><em>No Minimum Value String</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>No Minimum Value String</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SequenceDefinition.html#getNoMinimumValueString()"><CODE>SequenceDefinition.getNoMinimumValueString()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getSequenceDefinition()"><CODE>getSequenceDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getSequenceDefinition_NoCacheString()"><!-- --></A><H3>
getSequenceDefinition_NoCacheString</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getSequenceDefinition_NoCacheString</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SequenceDefinition.html#getNoCacheString()"><CODE><em>No Cache String</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>No Cache String</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SequenceDefinition.html#getNoCacheString()"><CODE>SequenceDefinition.getNoCacheString()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getSequenceDefinition()"><CODE>getSequenceDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getSequenceDefinition_CacheDefaultValue()"><!-- --></A><H3>
getSequenceDefinition_CacheDefaultValue</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getSequenceDefinition_CacheDefaultValue</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SequenceDefinition.html#getCacheDefaultValue()"><CODE><em>Cache Default Value</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Cache Default Value</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SequenceDefinition.html#getCacheDefaultValue()"><CODE>SequenceDefinition.getCacheDefaultValue()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getSequenceDefinition()"><CODE>getSequenceDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getUserDefinedTypeDefinition()"><!-- --></A><H3>
getUserDefinedTypeDefinition</H3>
<PRE>
public org.eclipse.emf.ecore.EClass <B>getUserDefinedTypeDefinition</B>()</PRE>
<DL>
<DD>Returns the meta object for class '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/UserDefinedTypeDefinition.html"><CODE><em>User Defined Type Definition</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for class '<em>User Defined Type Definition</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/UserDefinedTypeDefinition.html"><CODE>UserDefinedTypeDefinition</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getUserDefinedTypeDefinition_DefaultValueSupported()"><!-- --></A><H3>
getUserDefinedTypeDefinition_DefaultValueSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getUserDefinedTypeDefinition_DefaultValueSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/UserDefinedTypeDefinition.html#isDefaultValueSupported()"><CODE><em>Default Value Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Default Value Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/UserDefinedTypeDefinition.html#isDefaultValueSupported()"><CODE>UserDefinedTypeDefinition.isDefaultValueSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getUserDefinedTypeDefinition()"><CODE>getUserDefinedTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getUserDefinedTypeDefinition_DistinctTypeSupported()"><!-- --></A><H3>
getUserDefinedTypeDefinition_DistinctTypeSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getUserDefinedTypeDefinition_DistinctTypeSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/UserDefinedTypeDefinition.html#isDistinctTypeSupported()"><CODE><em>Distinct Type Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Distinct Type Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/UserDefinedTypeDefinition.html#isDistinctTypeSupported()"><CODE>UserDefinedTypeDefinition.isDistinctTypeSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getUserDefinedTypeDefinition()"><CODE>getUserDefinedTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getUserDefinedTypeDefinition_StructuredTypeSupported()"><!-- --></A><H3>
getUserDefinedTypeDefinition_StructuredTypeSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getUserDefinedTypeDefinition_StructuredTypeSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/UserDefinedTypeDefinition.html#isStructuredTypeSupported()"><CODE><em>Structured Type Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Structured Type Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/UserDefinedTypeDefinition.html#isStructuredTypeSupported()"><CODE>UserDefinedTypeDefinition.isStructuredTypeSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getUserDefinedTypeDefinition()"><CODE>getUserDefinedTypeDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getQueryDefinition()"><!-- --></A><H3>
getQueryDefinition</H3>
<PRE>
public org.eclipse.emf.ecore.EClass <B>getQueryDefinition</B>()</PRE>
<DL>
<DD>Returns the meta object for class '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/QueryDefinition.html"><CODE><em>Query Definition</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for class '<em>Query Definition</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/QueryDefinition.html"><CODE>QueryDefinition</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getQueryDefinition_IdentifierQuoteString()"><!-- --></A><H3>
getQueryDefinition_IdentifierQuoteString</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getQueryDefinition_IdentifierQuoteString</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/QueryDefinition.html#getIdentifierQuoteString()"><CODE><em>Identifier Quote String</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Identifier Quote String</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/QueryDefinition.html#getIdentifierQuoteString()"><CODE>QueryDefinition.getIdentifierQuoteString()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getQueryDefinition()"><CODE>getQueryDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getQueryDefinition_HostVariableMarker()"><!-- --></A><H3>
getQueryDefinition_HostVariableMarker</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getQueryDefinition_HostVariableMarker</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/QueryDefinition.html#getHostVariableMarker()"><CODE><em>Host Variable Marker</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Host Variable Marker</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/QueryDefinition.html#getHostVariableMarker()"><CODE>QueryDefinition.getHostVariableMarker()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getQueryDefinition()"><CODE>getQueryDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getQueryDefinition_HostVariableMarkerSupported()"><!-- --></A><H3>
getQueryDefinition_HostVariableMarkerSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getQueryDefinition_HostVariableMarkerSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/QueryDefinition.html#isHostVariableMarkerSupported()"><CODE><em>Host Variable Marker Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Host Variable Marker Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/QueryDefinition.html#isHostVariableMarkerSupported()"><CODE>QueryDefinition.isHostVariableMarkerSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getQueryDefinition()"><CODE>getQueryDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getQueryDefinition_CastExpressionSupported()"><!-- --></A><H3>
getQueryDefinition_CastExpressionSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getQueryDefinition_CastExpressionSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/QueryDefinition.html#isCastExpressionSupported()"><CODE><em>Cast Expression Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Cast Expression Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/QueryDefinition.html#isCastExpressionSupported()"><CODE>QueryDefinition.isCastExpressionSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getQueryDefinition()"><CODE>getQueryDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getQueryDefinition_DefaultKeywordForInsertValueSupported()"><!-- --></A><H3>
getQueryDefinition_DefaultKeywordForInsertValueSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getQueryDefinition_DefaultKeywordForInsertValueSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/QueryDefinition.html#isDefaultKeywordForInsertValueSupported()"><CODE><em>Default Keyword For Insert Value Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Default Keyword For Insert Value Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/QueryDefinition.html#isDefaultKeywordForInsertValueSupported()"><CODE>QueryDefinition.isDefaultKeywordForInsertValueSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getQueryDefinition()"><CODE>getQueryDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getQueryDefinition_ExtendedGroupingSupported()"><!-- --></A><H3>
getQueryDefinition_ExtendedGroupingSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getQueryDefinition_ExtendedGroupingSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/QueryDefinition.html#isExtendedGroupingSupported()"><CODE><em>Extended Grouping Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Extended Grouping Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/QueryDefinition.html#isExtendedGroupingSupported()"><CODE>QueryDefinition.isExtendedGroupingSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getQueryDefinition()"><CODE>getQueryDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getQueryDefinition_TableAliasInDeleteSupported()"><!-- --></A><H3>
getQueryDefinition_TableAliasInDeleteSupported</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getQueryDefinition_TableAliasInDeleteSupported</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/QueryDefinition.html#isTableAliasInDeleteSupported()"><CODE><em>Table Alias In Delete Supported</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute '<em>Table Alias In Delete Supported</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/QueryDefinition.html#isTableAliasInDeleteSupported()"><CODE>QueryDefinition.isTableAliasInDeleteSupported()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getQueryDefinition()"><CODE>getQueryDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getSQLSyntaxDefinition()"><!-- --></A><H3>
getSQLSyntaxDefinition</H3>
<PRE>
public org.eclipse.emf.ecore.EClass <B>getSQLSyntaxDefinition</B>()</PRE>
<DL>
<DD>Returns the meta object for class '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SQLSyntaxDefinition.html"><CODE><em>SQL Syntax Definition</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for class '<em>SQL Syntax Definition</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SQLSyntaxDefinition.html"><CODE>SQLSyntaxDefinition</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getSQLSyntaxDefinition_Keywords()"><!-- --></A><H3>
getSQLSyntaxDefinition_Keywords</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getSQLSyntaxDefinition_Keywords</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SQLSyntaxDefinition.html#getKeywords()"><CODE><em>Keywords</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute list '<em>Keywords</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SQLSyntaxDefinition.html#getKeywords()"><CODE>SQLSyntaxDefinition.getKeywords()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getSQLSyntaxDefinition()"><CODE>getSQLSyntaxDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getSQLSyntaxDefinition_Operators()"><!-- --></A><H3>
getSQLSyntaxDefinition_Operators</H3>
<PRE>
public org.eclipse.emf.ecore.EAttribute <B>getSQLSyntaxDefinition_Operators</B>()</PRE>
<DL>
<DD>Returns the meta object for the attribute list '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SQLSyntaxDefinition.html#getOperators()"><CODE><em>Operators</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the attribute list '<em>Operators</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SQLSyntaxDefinition.html#getOperators()"><CODE>SQLSyntaxDefinition.getOperators()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getSQLSyntaxDefinition()"><CODE>getSQLSyntaxDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getSequenceDefinition_DefaultDataTypeDefinition()"><!-- --></A><H3>
getSequenceDefinition_DefaultDataTypeDefinition</H3>
<PRE>
public org.eclipse.emf.ecore.EReference <B>getSequenceDefinition_DefaultDataTypeDefinition</B>()</PRE>
<DL>
<DD>Returns the meta object for the reference '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SequenceDefinition.html#getDefaultDataTypeDefinition()"><CODE><em>Default Data Type Definition</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for the reference '<em>Default Data Type Definition</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/SequenceDefinition.html#getDefaultDataTypeDefinition()"><CODE>SequenceDefinition.getDefaultDataTypeDefinition()</CODE></A>, 
<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionPackage.html#getSequenceDefinition()"><CODE>getSequenceDefinition()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getCheckOption()"><!-- --></A><H3>
getCheckOption</H3>
<PRE>
public org.eclipse.emf.ecore.EEnum <B>getCheckOption</B>()</PRE>
<DL>
<DD>Returns the meta object for enum '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/CheckOption.html"><CODE><em>Check Option</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for enum '<em>Check Option</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/CheckOption.html"><CODE>CheckOption</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDefaultValueType()"><!-- --></A><H3>
getDefaultValueType</H3>
<PRE>
public org.eclipse.emf.ecore.EEnum <B>getDefaultValueType</B>()</PRE>
<DL>
<DD>Returns the meta object for enum '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DefaultValueType.html"><CODE><em>Default Value Type</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for enum '<em>Default Value Type</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DefaultValueType.html"><CODE>DefaultValueType</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getLanguageType()"><!-- --></A><H3>
getLanguageType</H3>
<PRE>
public org.eclipse.emf.ecore.EEnum <B>getLanguageType</B>()</PRE>
<DL>
<DD>Returns the meta object for enum '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/LanguageType.html"><CODE><em>Language Type</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for enum '<em>Language Type</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/LanguageType.html"><CODE>LanguageType</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getParameterStyle()"><!-- --></A><H3>
getParameterStyle</H3>
<PRE>
public org.eclipse.emf.ecore.EEnum <B>getParameterStyle</B>()</PRE>
<DL>
<DD>Returns the meta object for enum '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ParameterStyle.html"><CODE><em>Parameter Style</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for enum '<em>Parameter Style</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ParameterStyle.html"><CODE>ParameterStyle</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getParentDeleteDRIRuleType()"><!-- --></A><H3>
getParentDeleteDRIRuleType</H3>
<PRE>
public org.eclipse.emf.ecore.EEnum <B>getParentDeleteDRIRuleType</B>()</PRE>
<DL>
<DD>Returns the meta object for enum '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ParentDeleteDRIRuleType.html"><CODE><em>Parent Delete DRI Rule Type</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for enum '<em>Parent Delete DRI Rule Type</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ParentDeleteDRIRuleType.html"><CODE>ParentDeleteDRIRuleType</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getParentUpdateDRIRuleType()"><!-- --></A><H3>
getParentUpdateDRIRuleType</H3>
<PRE>
public org.eclipse.emf.ecore.EEnum <B>getParentUpdateDRIRuleType</B>()</PRE>
<DL>
<DD>Returns the meta object for enum '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ParentUpdateDRIRuleType.html"><CODE><em>Parent Update DRI Rule Type</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for enum '<em>Parent Update DRI Rule Type</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ParentUpdateDRIRuleType.html"><CODE>ParentUpdateDRIRuleType</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getProcedureType()"><!-- --></A><H3>
getProcedureType</H3>
<PRE>
public org.eclipse.emf.ecore.EEnum <B>getProcedureType</B>()</PRE>
<DL>
<DD>Returns the meta object for enum '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ProcedureType.html"><CODE><em>Procedure Type</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for enum '<em>Procedure Type</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/ProcedureType.html"><CODE>ProcedureType</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getTableSpaceType()"><!-- --></A><H3>
getTableSpaceType</H3>
<PRE>
public org.eclipse.emf.ecore.EEnum <B>getTableSpaceType</B>()</PRE>
<DL>
<DD>Returns the meta object for enum '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceType.html"><CODE><em>Table Space Type</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for enum '<em>Table Space Type</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/TableSpaceType.html"><CODE>TableSpaceType</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPercentFreeTerminology()"><!-- --></A><H3>
getPercentFreeTerminology</H3>
<PRE>
public org.eclipse.emf.ecore.EEnum <B>getPercentFreeTerminology</B>()</PRE>
<DL>
<DD>Returns the meta object for enum '<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PercentFreeTerminology.html"><CODE><em>Percent Free Terminology</em></CODE></A>'.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the meta object for enum '<em>Percent Free Terminology</em>'.<DT><B>See Also: </B><DD><A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/PercentFreeTerminology.html"><CODE>PercentFreeTerminology</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDatabaseDefinitionFactory()"><!-- --></A><H3>
getDatabaseDefinitionFactory</H3>
<PRE>
public <A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionFactory.html">DatabaseDefinitionFactory</A> <B>getDatabaseDefinitionFactory</B>()</PRE>
<DL>
<DD>Returns the factory that creates the instances of the model.
 <!-- begin-user-doc -->
 <!-- end-user-doc --><DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the factory that creates the instances of the model.</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>

<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DatabaseDefinitionPackage.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseDefinitionFactory.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../../org/eclipse/wst/rdb/internal/models/dbdefinition/DatabaseVendorDefinition.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="DatabaseDefinitionPackage.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->

<HR>

</BODY>
</HTML>
