<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_30) on Thu Feb 16 09:34:37 CST 2012 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
TableJDBCSeq (OpenJPA Parent POM 2.2.0 API)
</TITLE>

<META NAME="date" CONTENT="2012-02-16">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="TableJDBCSeq (OpenJPA Parent POM 2.2.0 API)";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">
<HR>


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <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/TableJDBCSeq.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-all.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/apache/openjpa/jdbc/kernel/SQLStoreQuery.SQLExecutor.html" title="class in org.apache.openjpa.jdbc.kernel"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.AllocateSequenceRunnable.html" title="class in org.apache.openjpa.jdbc.kernel"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="TableJDBCSeq.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&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;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.openjpa.jdbc.kernel</FONT>
<BR>
Class TableJDBCSeq</H2>
<PRE>
<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
  <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/AbstractJDBCSeq.html" title="class in org.apache.openjpa.jdbc.kernel">org.apache.openjpa.jdbc.kernel.AbstractJDBCSeq</A>
      <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.openjpa.jdbc.kernel.TableJDBCSeq</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/JDBCSeq.html" title="interface in org.apache.openjpa.jdbc.kernel">JDBCSeq</A>, <A HREF="../../../../../org/apache/openjpa/kernel/Seq.html" title="interface in org.apache.openjpa.kernel">Seq</A>, <A HREF="../../../../../org/apache/openjpa/lib/conf/Configurable.html" title="interface in org.apache.openjpa.lib.conf">Configurable</A>, <A HREF="../../../../../org/apache/openjpa/lib/util/Closeable.html" title="interface in org.apache.openjpa.lib.util">Closeable</A></DD>
</DL>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/ClassTableJDBCSeq.html" title="class in org.apache.openjpa.jdbc.kernel">ClassTableJDBCSeq</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/kernel/ValueTableJDBCSeq.html" title="class in org.apache.openjpa.jdbc.kernel">ValueTableJDBCSeq</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>TableJDBCSeq</B><DT>extends <A HREF="../../../../../org/apache/openjpa/jdbc/kernel/AbstractJDBCSeq.html" title="class in org.apache.openjpa.jdbc.kernel">AbstractJDBCSeq</A><DT>implements <A HREF="../../../../../org/apache/openjpa/lib/conf/Configurable.html" title="interface in org.apache.openjpa.lib.conf">Configurable</A></DL>
</PRE>

<P>
<A HREF="../../../../../org/apache/openjpa/jdbc/kernel/JDBCSeq.html" title="interface in org.apache.openjpa.jdbc.kernel"><CODE>JDBCSeq</CODE></A> implementation that uses a database table
 for sequence number generation. This base implementation uses a single
 row for a global sequence number.
<P>

<P>
<DL>
<DT><B>Author:</B></DT>
  <DD>Abe White</DD>
</DL>
<HR>

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

<A NAME="nested_class_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Nested Class Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.AllocateSequenceRunnable.html" title="class in org.apache.openjpa.jdbc.kernel">TableJDBCSeq.AllocateSequenceRunnable</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AllocateSequenceRunnable is a runnable wrapper that will inserts the
 initial sequence value into the database.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.CurrentSequenceRunnable.html" title="class in org.apache.openjpa.jdbc.kernel">TableJDBCSeq.CurrentSequenceRunnable</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CurentSequenceRunnable is a runnable wrapper which obtains the current
 sequence value from the database.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static&nbsp;class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.Status.html" title="class in org.apache.openjpa.jdbc.kernel">TableJDBCSeq.Status</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Helper struct to hold status information.</TD>
</TR>
</TABLE>
&nbsp;<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#ACTION_ADD">ACTION_ADD</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#ACTION_DROP">ACTION_DROP</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#ACTION_GET">ACTION_GET</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#ACTION_SET">ACTION_SET</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#DEFAULT_TABLE">DEFAULT_TABLE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.apache.openjpa.jdbc.kernel.AbstractJDBCSeq"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from class org.apache.openjpa.jdbc.kernel.<A HREF="../../../../../org/apache/openjpa/jdbc/kernel/AbstractJDBCSeq.html" title="class in org.apache.openjpa.jdbc.kernel">AbstractJDBCSeq</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/AbstractJDBCSeq.html#current">current</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/kernel/AbstractJDBCSeq.html#type">type</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.apache.openjpa.kernel.Seq"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from interface org.apache.openjpa.kernel.<A HREF="../../../../../org/apache/openjpa/kernel/Seq.html" title="interface in org.apache.openjpa.kernel">Seq</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/openjpa/kernel/Seq.html#TYPE_CONTIGUOUS">TYPE_CONTIGUOUS</A>, <A HREF="../../../../../org/apache/openjpa/kernel/Seq.html#TYPE_DEFAULT">TYPE_DEFAULT</A>, <A HREF="../../../../../org/apache/openjpa/kernel/Seq.html#TYPE_NONTRANSACTIONAL">TYPE_NONTRANSACTIONAL</A>, <A HREF="../../../../../org/apache/openjpa/kernel/Seq.html#TYPE_TRANSACTIONAL">TYPE_TRANSACTIONAL</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#TableJDBCSeq()">TableJDBCSeq</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../../org/apache/openjpa/jdbc/schema/Column.html" title="class in org.apache.openjpa.jdbc.schema">Column</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#addPrimaryKeyColumn(org.apache.openjpa.jdbc.schema.Table)">addPrimaryKeyColumn</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/schema/Table.html" title="class in org.apache.openjpa.jdbc.schema">Table</A>&nbsp;table)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add the primary key column to the given table and return it.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#addSchema(org.apache.openjpa.jdbc.meta.ClassMapping, org.apache.openjpa.jdbc.schema.SchemaGroup)">addSchema</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>&nbsp;mapping,
          <A HREF="../../../../../org/apache/openjpa/jdbc/schema/SchemaGroup.html" title="class in org.apache.openjpa.jdbc.schema">SchemaGroup</A>&nbsp;group)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;No-op.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#allocateInternal(int, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.meta.ClassMapping)">allocateInternal</A></B>(int&nbsp;count,
                 <A HREF="../../../../../org/apache/openjpa/jdbc/kernel/JDBCStore.html" title="interface in org.apache.openjpa.jdbc.kernel">JDBCStore</A>&nbsp;store,
                 <A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>&nbsp;mapping)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Allocate additional sequence values.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#currentInternal(org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.meta.ClassMapping)">currentInternal</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/kernel/JDBCStore.html" title="interface in org.apache.openjpa.jdbc.kernel">JDBCStore</A>&nbsp;store,
                <A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>&nbsp;mapping)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the current sequence object.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#dropTable()">dropTable</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Drops the sequence table in the DB.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#endConfiguration()">endConfiguration</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invoked upon completion of bean property configuration for this object.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/ResultSet.html?is-external=true" title="class or interface in java.sql">ResultSet</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#executeQuery(org.apache.openjpa.jdbc.conf.JDBCConfiguration, java.sql.Connection, java.sql.PreparedStatement, org.apache.openjpa.jdbc.sql.SQLBuffer)">executeQuery</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/conf/JDBCConfiguration.html" title="interface in org.apache.openjpa.jdbc.conf">JDBCConfiguration</A>&nbsp;conf,
             <A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A>&nbsp;conn,
             <A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</A>&nbsp;stmnt,
             <A HREF="../../../../../org/apache/openjpa/jdbc/sql/SQLBuffer.html" title="class in org.apache.openjpa.jdbc.sql">SQLBuffer</A>&nbsp;buf)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is to provide override for non-JDBC or JDBC-like 
 implementation of executing query.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#executeUpdate(org.apache.openjpa.jdbc.conf.JDBCConfiguration, java.sql.Connection, java.sql.PreparedStatement, org.apache.openjpa.jdbc.sql.SQLBuffer, int)">executeUpdate</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/conf/JDBCConfiguration.html" title="interface in org.apache.openjpa.jdbc.conf">JDBCConfiguration</A>&nbsp;conf,
              <A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A>&nbsp;conn,
              <A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</A>&nbsp;stmnt,
              <A HREF="../../../../../org/apache/openjpa/jdbc/sql/SQLBuffer.html" title="class in org.apache.openjpa.jdbc.sql">SQLBuffer</A>&nbsp;buf,
              int&nbsp;opcode)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is to provide override for non-JDBC or JDBC-like 
 implementation of executing update.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#getAllocate()">getAllocate</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the number of sequences to allocate for each update of the
 sequence table.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/openjpa/jdbc/conf/JDBCConfiguration.html" title="interface in org.apache.openjpa.jdbc.conf">JDBCConfiguration</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#getConfiguration()">getConfiguration</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the <A HREF="../../../../../org/apache/openjpa/jdbc/conf/JDBCConfiguration.html" title="interface in org.apache.openjpa.jdbc.conf"><CODE>JDBCConfiguration</CODE></A> for this sequence.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#getInitialValue()">getInitialValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the number as the initial number for the 
 GeneratedValue.TABLE strategy to start with.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#getPrimaryKey(org.apache.openjpa.jdbc.meta.ClassMapping)">getPrimaryKey</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>&nbsp;mapping)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the primary key value for the sequence table for the given class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#getPrimaryKeyColumn()">getPrimaryKeyColumn</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The name of the table's primary key column.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#getPrimaryKeyColumnIdentifier()">getPrimaryKeyColumnIdentifier</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#getSequence(org.apache.openjpa.jdbc.meta.ClassMapping, java.sql.Connection)">getSequence</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>&nbsp;mapping,
            <A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A>&nbsp;conn)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the current sequence value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#getSequence(java.sql.ResultSet, org.apache.openjpa.jdbc.sql.DBDictionary)">getSequence</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/ResultSet.html?is-external=true" title="class or interface in java.sql">ResultSet</A>&nbsp;rs,
            <A HREF="../../../../../org/apache/openjpa/jdbc/sql/DBDictionary.html" title="class in org.apache.openjpa.jdbc.sql">DBDictionary</A>&nbsp;dict)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is to provide override for non-JDBC or JDBC-like 
 implementation of getting sequence from the result set.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#getSequenceColumn()">getSequenceColumn</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The name of the column that holds the sequence value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.Status.html" title="class in org.apache.openjpa.jdbc.kernel">TableJDBCSeq.Status</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#getStatus(org.apache.openjpa.jdbc.meta.ClassMapping)">getStatus</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>&nbsp;mapping)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the appropriate status object for the given class, or null
 if cannot handle the given class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#getTable()">getTable</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The sequence table name.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#getUniqueColumns()">getUniqueColumns</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#getUniqueConstraintIdentifier()">getUniqueConstraintIdentifier</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#getUniqueConstraintName()">getUniqueConstraintName</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#main(java.lang.String[])">main</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;args)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Usage: java org.apache.openjpa.jdbc.schema.TableJDBCSequence [option]*
 -action/-a &lt;add | drop | get | set&gt; [value]
  Where the following options are recognized.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#nextInternal(org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.meta.ClassMapping)">nextInternal</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/kernel/JDBCStore.html" title="interface in org.apache.openjpa.jdbc.kernel">JDBCStore</A>&nbsp;store,
             <A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>&nbsp;mapping)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the next sequence object.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#prepareStatement(java.sql.Connection, org.apache.openjpa.jdbc.sql.SQLBuffer)">prepareStatement</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A>&nbsp;conn,
                 <A HREF="../../../../../org/apache/openjpa/jdbc/sql/SQLBuffer.html" title="class in org.apache.openjpa.jdbc.sql">SQLBuffer</A>&nbsp;buf)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is to provide override for non-JDBC or JDBC-like 
 implementation of preparing statement.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#refreshTable()">refreshTable</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates the sequence table in the DB.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#resolveTableIdentifier(org.apache.openjpa.jdbc.meta.ClassMapping, org.apache.openjpa.jdbc.schema.Table)">resolveTableIdentifier</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>&nbsp;mapping,
                       <A HREF="../../../../../org/apache/openjpa/jdbc/schema/Table.html" title="class in org.apache.openjpa.jdbc.schema">Table</A>&nbsp;table)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Resolve a fully qualified table name</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#resolveTableName(org.apache.openjpa.jdbc.meta.ClassMapping, org.apache.openjpa.jdbc.schema.Table)">resolveTableName</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>&nbsp;mapping,
                 <A HREF="../../../../../org/apache/openjpa/jdbc/schema/Table.html" title="class in org.apache.openjpa.jdbc.schema">Table</A>&nbsp;table)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I></I>&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#run(org.apache.openjpa.jdbc.conf.JDBCConfiguration, java.lang.String[], org.apache.openjpa.lib.util.Options)">run</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/conf/JDBCConfiguration.html" title="interface in org.apache.openjpa.jdbc.conf">JDBCConfiguration</A>&nbsp;conf,
    <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;args,
    <A HREF="../../../../../org/apache/openjpa/lib/util/Options.html" title="class in org.apache.openjpa.lib.util">Options</A>&nbsp;opts)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Run the tool.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#run(org.apache.openjpa.jdbc.conf.JDBCConfiguration, java.lang.String[], java.lang.String)">run</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/conf/JDBCConfiguration.html" title="interface in org.apache.openjpa.jdbc.conf">JDBCConfiguration</A>&nbsp;conf,
    <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;args,
    <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;action)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Run the tool.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#setAllocate(int)">setAllocate</A></B>(int&nbsp;alloc)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the number of sequences to allocate for each update of the
 sequence table.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#setConfiguration(org.apache.openjpa.lib.conf.Configuration)">setConfiguration</A></B>(<A HREF="../../../../../org/apache/openjpa/lib/conf/Configuration.html" title="interface in org.apache.openjpa.lib.conf">Configuration</A>&nbsp;conf)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invoked prior to setting bean properties.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#setIncrement(int)">setIncrement</A></B>(int&nbsp;inc)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use <A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#setAllocate(int)"><CODE>setAllocate(int)</CODE></A>. Retained for backwards
 compatibility of auto-configuration.</I></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#setInitialValue(int)">setInitialValue</A></B>(int&nbsp;intValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the initial number in the table for the GeneratedValue.TABLE
 strategy to use as initial number.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#setPrimaryKeyColumn(java.lang.String)">setPrimaryKeyColumn</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;primaryKeyColumn)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The name of the table's primary key column.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#setSequence(org.apache.openjpa.jdbc.meta.ClassMapping, org.apache.openjpa.jdbc.kernel.TableJDBCSeq.Status, int, boolean, java.sql.Connection)">setSequence</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>&nbsp;mapping,
            <A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.Status.html" title="class in org.apache.openjpa.jdbc.kernel">TableJDBCSeq.Status</A>&nbsp;stat,
            int&nbsp;inc,
            boolean&nbsp;updateStatSeq,
            <A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A>&nbsp;conn)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Grabs the next handful of sequence numbers.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#setSequenceColumn(java.lang.String)">setSequenceColumn</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sequenceColumn)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The name of the column that holds the sequence value.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#setTable(java.lang.String)">setTable</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The sequence table name.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#setTableName(java.lang.String)">setTableName</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>Use <A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#setTable(java.lang.String)"><CODE>setTable(java.lang.String)</CODE></A>. Retained for
 backwards-compatibility        with auto-configuration.</I></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#setUniqueColumns(java.lang.String)">setUniqueColumns</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;columnNames)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the names of the columns on which a unique constraint is set.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#setUniqueConstraintName(org.apache.openjpa.jdbc.identifier.DBIdentifier)">setUniqueConstraintName</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A>&nbsp;uniqueConstraintName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#setUniqueConstraintName(java.lang.String)">setUniqueConstraintName</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;uniqueConstraintName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#startConfiguration()">startConfiguration</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invoked before bean property configuration is begun on this object.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.openjpa.jdbc.kernel.AbstractJDBCSeq"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.openjpa.jdbc.kernel.<A HREF="../../../../../org/apache/openjpa/jdbc/kernel/AbstractJDBCSeq.html" title="class in org.apache.openjpa.jdbc.kernel">AbstractJDBCSeq</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/AbstractJDBCSeq.html#allocate(int, org.apache.openjpa.kernel.StoreContext, org.apache.openjpa.meta.ClassMetaData)">allocate</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/kernel/AbstractJDBCSeq.html#close()">close</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/kernel/AbstractJDBCSeq.html#closeConnection(java.sql.Connection)">closeConnection</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/kernel/AbstractJDBCSeq.html#current(org.apache.openjpa.kernel.StoreContext, org.apache.openjpa.meta.ClassMetaData)">current</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/kernel/AbstractJDBCSeq.html#getConnection(org.apache.openjpa.jdbc.kernel.JDBCStore)">getConnection</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/kernel/AbstractJDBCSeq.html#next(org.apache.openjpa.kernel.StoreContext, org.apache.openjpa.meta.ClassMetaData)">next</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/kernel/AbstractJDBCSeq.html#setType(int)">setType</A>, <A HREF="../../../../../org/apache/openjpa/jdbc/kernel/AbstractJDBCSeq.html#suspendInJTA()">suspendInJTA</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

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

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

<A NAME="ACTION_DROP"><!-- --></A><H3>
ACTION_DROP</H3>
<PRE>
public static final <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>ACTION_DROP</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.openjpa.jdbc.kernel.TableJDBCSeq.ACTION_DROP">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="ACTION_ADD"><!-- --></A><H3>
ACTION_ADD</H3>
<PRE>
public static final <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>ACTION_ADD</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.openjpa.jdbc.kernel.TableJDBCSeq.ACTION_ADD">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="ACTION_GET"><!-- --></A><H3>
ACTION_GET</H3>
<PRE>
public static final <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>ACTION_GET</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.openjpa.jdbc.kernel.TableJDBCSeq.ACTION_GET">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="ACTION_SET"><!-- --></A><H3>
ACTION_SET</H3>
<PRE>
public static final <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>ACTION_SET</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.openjpa.jdbc.kernel.TableJDBCSeq.ACTION_SET">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="DEFAULT_TABLE"><!-- --></A><H3>
DEFAULT_TABLE</H3>
<PRE>
public static final <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>DEFAULT_TABLE</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.openjpa.jdbc.kernel.TableJDBCSeq.DEFAULT_TABLE">Constant Field Values</A></DL>
</DL>

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

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="TableJDBCSeq()"><!-- --></A><H3>
TableJDBCSeq</H3>
<PRE>
public <B>TableJDBCSeq</B>()</PRE>
<DL>
</DL>

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

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

<A NAME="getTable()"><!-- --></A><H3>
getTable</H3>
<PRE>
public <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getTable</B>()</PRE>
<DL>
<DD>The sequence table name. Defaults to <code>OPENJPA_SEQUENCE_TABLE</code>.
 By default, the table will be placed in the first schema listed in your
 <code>openjpa.jdbc.Schemas</code> property, or in the default schema if
 the property is not given. If you specify a table name in the form
 <code>&lt;schema&gt;.&lt;table&gt;</code>, then the given schema
 will be used.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setTable(java.lang.String)"><!-- --></A><H3>
setTable</H3>
<PRE>
public void <B>setTable</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE>
<DL>
<DD>The sequence table name. Defaults to <code>OPENJPA_SEQUENCE_TABLE</code>.
 By default, the table will be placed in the first schema listed in your
 <code>openjpa.jdbc.Schemas</code> property, or in the default schema if
 the property is not given. If you specify a table name in the form
 <code>&lt;schema&gt;.&lt;table&gt;</code>, then the given schema
 will be used.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setTableName(java.lang.String)"><!-- --></A><H3>
setTableName</H3>
<PRE>
public void <B>setTableName</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>Use <A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#setTable(java.lang.String)"><CODE>setTable(java.lang.String)</CODE></A>. Retained for
 backwards-compatibility        with auto-configuration.</I>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getSequenceColumn()"><!-- --></A><H3>
getSequenceColumn</H3>
<PRE>
public <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getSequenceColumn</B>()</PRE>
<DL>
<DD>The name of the column that holds the sequence value. Defaults
 to <code>SEQUENCE_VALUE</code>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setSequenceColumn(java.lang.String)"><!-- --></A><H3>
setSequenceColumn</H3>
<PRE>
public void <B>setSequenceColumn</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;sequenceColumn)</PRE>
<DL>
<DD>The name of the column that holds the sequence value. Defaults
 to <code>SEQUENCE_VALUE</code>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getPrimaryKeyColumn()"><!-- --></A><H3>
getPrimaryKeyColumn</H3>
<PRE>
public <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getPrimaryKeyColumn</B>()</PRE>
<DL>
<DD>The name of the table's primary key column. Defaults to
 <code>ID</code>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getPrimaryKeyColumnIdentifier()"><!-- --></A><H3>
getPrimaryKeyColumnIdentifier</H3>
<PRE>
public <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A> <B>getPrimaryKeyColumnIdentifier</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setPrimaryKeyColumn(java.lang.String)"><!-- --></A><H3>
setPrimaryKeyColumn</H3>
<PRE>
public void <B>setPrimaryKeyColumn</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;primaryKeyColumn)</PRE>
<DL>
<DD>The name of the table's primary key column. Defaults to
 <code>ID</code>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getAllocate()"><!-- --></A><H3>
getAllocate</H3>
<PRE>
public int <B>getAllocate</B>()</PRE>
<DL>
<DD>Return the number of sequences to allocate for each update of the
 sequence table. Sequence numbers will be grabbed in blocks of this
 value to reduce the number of transactions that must be performed on
 the sequence table.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setAllocate(int)"><!-- --></A><H3>
setAllocate</H3>
<PRE>
public void <B>setAllocate</B>(int&nbsp;alloc)</PRE>
<DL>
<DD>Return the number of sequences to allocate for each update of the
 sequence table. Sequence numbers will be grabbed in blocks of this
 value to reduce the number of transactions that must be performed on
 the sequence table.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getInitialValue()"><!-- --></A><H3>
getInitialValue</H3>
<PRE>
public int <B>getInitialValue</B>()</PRE>
<DL>
<DD>Return the number as the initial number for the 
 GeneratedValue.TABLE strategy to start with.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>an initial number</DL>
</DD>
</DL>
<HR>

<A NAME="setInitialValue(int)"><!-- --></A><H3>
setInitialValue</H3>
<PRE>
public void <B>setInitialValue</B>(int&nbsp;intValue)</PRE>
<DL>
<DD>Set the initial number in the table for the GeneratedValue.TABLE
 strategy to use as initial number.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>intValue.</CODE> - The initial number</DL>
</DD>
</DL>
<HR>

<A NAME="setUniqueColumns(java.lang.String)"><!-- --></A><H3>
setUniqueColumns</H3>
<PRE>
public void <B>setUniqueColumns</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;columnNames)</PRE>
<DL>
<DD>Sets the names of the columns on which a unique constraint is set.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>columnsNames</CODE> - are passed as a single String concatenated with
 a '|' character. This method parses it back to array of Strings.</DL>
</DD>
</DL>
<HR>

<A NAME="getUniqueColumns()"><!-- --></A><H3>
getUniqueColumns</H3>
<PRE>
public <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getUniqueColumns</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setIncrement(int)"><!-- --></A><H3>
setIncrement</H3>
<PRE>
public void <B>setIncrement</B>(int&nbsp;inc)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>Use <A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html#setAllocate(int)"><CODE>setAllocate(int)</CODE></A>. Retained for backwards
 compatibility of auto-configuration.</I>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getConfiguration()"><!-- --></A><H3>
getConfiguration</H3>
<PRE>
public <A HREF="../../../../../org/apache/openjpa/jdbc/conf/JDBCConfiguration.html" title="interface in org.apache.openjpa.jdbc.conf">JDBCConfiguration</A> <B>getConfiguration</B>()</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/AbstractJDBCSeq.html#getConfiguration()">AbstractJDBCSeq</A></CODE></B></DD>
<DD>Return the <A HREF="../../../../../org/apache/openjpa/jdbc/conf/JDBCConfiguration.html" title="interface in org.apache.openjpa.jdbc.conf"><CODE>JDBCConfiguration</CODE></A> for this sequence.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/AbstractJDBCSeq.html#getConfiguration()">getConfiguration</A></CODE> in class <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/AbstractJDBCSeq.html" title="class in org.apache.openjpa.jdbc.kernel">AbstractJDBCSeq</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setConfiguration(org.apache.openjpa.lib.conf.Configuration)"><!-- --></A><H3>
setConfiguration</H3>
<PRE>
public void <B>setConfiguration</B>(<A HREF="../../../../../org/apache/openjpa/lib/conf/Configuration.html" title="interface in org.apache.openjpa.lib.conf">Configuration</A>&nbsp;conf)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/openjpa/lib/conf/Configurable.html#setConfiguration(org.apache.openjpa.lib.conf.Configuration)">Configurable</A></CODE></B></DD>
<DD>Invoked prior to setting bean properties.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/lib/conf/Configurable.html#setConfiguration(org.apache.openjpa.lib.conf.Configuration)">setConfiguration</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/openjpa/lib/conf/Configurable.html" title="interface in org.apache.openjpa.lib.conf">Configurable</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="startConfiguration()"><!-- --></A><H3>
startConfiguration</H3>
<PRE>
public void <B>startConfiguration</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/openjpa/lib/conf/Configurable.html#startConfiguration()">Configurable</A></CODE></B></DD>
<DD>Invoked before bean property configuration is begun on this object.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/lib/conf/Configurable.html#startConfiguration()">startConfiguration</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/openjpa/lib/conf/Configurable.html" title="interface in org.apache.openjpa.lib.conf">Configurable</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="endConfiguration()"><!-- --></A><H3>
endConfiguration</H3>
<PRE>
public void <B>endConfiguration</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/openjpa/lib/conf/Configurable.html#endConfiguration()">Configurable</A></CODE></B></DD>
<DD>Invoked upon completion of bean property configuration for this object.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/lib/conf/Configurable.html#endConfiguration()">endConfiguration</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/openjpa/lib/conf/Configurable.html" title="interface in org.apache.openjpa.lib.conf">Configurable</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="addSchema(org.apache.openjpa.jdbc.meta.ClassMapping, org.apache.openjpa.jdbc.schema.SchemaGroup)"><!-- --></A><H3>
addSchema</H3>
<PRE>
public void <B>addSchema</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>&nbsp;mapping,
                      <A HREF="../../../../../org/apache/openjpa/jdbc/schema/SchemaGroup.html" title="class in org.apache.openjpa.jdbc.schema">SchemaGroup</A>&nbsp;group)</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/AbstractJDBCSeq.html#addSchema(org.apache.openjpa.jdbc.meta.ClassMapping, org.apache.openjpa.jdbc.schema.SchemaGroup)">AbstractJDBCSeq</A></CODE></B></DD>
<DD>No-op.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/JDBCSeq.html#addSchema(org.apache.openjpa.jdbc.meta.ClassMapping, org.apache.openjpa.jdbc.schema.SchemaGroup)">addSchema</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/JDBCSeq.html" title="interface in org.apache.openjpa.jdbc.kernel">JDBCSeq</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/AbstractJDBCSeq.html#addSchema(org.apache.openjpa.jdbc.meta.ClassMapping, org.apache.openjpa.jdbc.schema.SchemaGroup)">addSchema</A></CODE> in class <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/AbstractJDBCSeq.html" title="class in org.apache.openjpa.jdbc.kernel">AbstractJDBCSeq</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="nextInternal(org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.meta.ClassMapping)"><!-- --></A><H3>
nextInternal</H3>
<PRE>
protected <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>nextInternal</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/kernel/JDBCStore.html" title="interface in org.apache.openjpa.jdbc.kernel">JDBCStore</A>&nbsp;store,
                              <A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>&nbsp;mapping)
                       throws <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/AbstractJDBCSeq.html#nextInternal(org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.meta.ClassMapping)">AbstractJDBCSeq</A></CODE></B></DD>
<DD>Return the next sequence object.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/AbstractJDBCSeq.html#nextInternal(org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.meta.ClassMapping)">nextInternal</A></CODE> in class <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/AbstractJDBCSeq.html" title="class in org.apache.openjpa.jdbc.kernel">AbstractJDBCSeq</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="currentInternal(org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.meta.ClassMapping)"><!-- --></A><H3>
currentInternal</H3>
<PRE>
protected <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>currentInternal</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/kernel/JDBCStore.html" title="interface in org.apache.openjpa.jdbc.kernel">JDBCStore</A>&nbsp;store,
                                 <A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>&nbsp;mapping)
                          throws <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/AbstractJDBCSeq.html#currentInternal(org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.meta.ClassMapping)">AbstractJDBCSeq</A></CODE></B></DD>
<DD>Return the current sequence object. By default returns the last
 sequence value used, or null if no sequence values have been requested
 yet. Default implementation is not threadsafe.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/AbstractJDBCSeq.html#currentInternal(org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.meta.ClassMapping)">currentInternal</A></CODE> in class <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/AbstractJDBCSeq.html" title="class in org.apache.openjpa.jdbc.kernel">AbstractJDBCSeq</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="allocateInternal(int, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.meta.ClassMapping)"><!-- --></A><H3>
allocateInternal</H3>
<PRE>
protected void <B>allocateInternal</B>(int&nbsp;count,
                                <A HREF="../../../../../org/apache/openjpa/jdbc/kernel/JDBCStore.html" title="interface in org.apache.openjpa.jdbc.kernel">JDBCStore</A>&nbsp;store,
                                <A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>&nbsp;mapping)
                         throws <A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/AbstractJDBCSeq.html#allocateInternal(int, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.meta.ClassMapping)">AbstractJDBCSeq</A></CODE></B></DD>
<DD>Allocate additional sequence values. Does nothing by default.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/AbstractJDBCSeq.html#allocateInternal(int, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.meta.ClassMapping)">allocateInternal</A></CODE> in class <CODE><A HREF="../../../../../org/apache/openjpa/jdbc/kernel/AbstractJDBCSeq.html" title="class in org.apache.openjpa.jdbc.kernel">AbstractJDBCSeq</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getStatus(org.apache.openjpa.jdbc.meta.ClassMapping)"><!-- --></A><H3>
getStatus</H3>
<PRE>
protected <A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.Status.html" title="class in org.apache.openjpa.jdbc.kernel">TableJDBCSeq.Status</A> <B>getStatus</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>&nbsp;mapping)</PRE>
<DL>
<DD>Return the appropriate status object for the given class, or null
 if cannot handle the given class. The mapping may be null.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="addPrimaryKeyColumn(org.apache.openjpa.jdbc.schema.Table)"><!-- --></A><H3>
addPrimaryKeyColumn</H3>
<PRE>
protected <A HREF="../../../../../org/apache/openjpa/jdbc/schema/Column.html" title="class in org.apache.openjpa.jdbc.schema">Column</A> <B>addPrimaryKeyColumn</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/schema/Table.html" title="class in org.apache.openjpa.jdbc.schema">Table</A>&nbsp;table)</PRE>
<DL>
<DD>Add the primary key column to the given table and return it.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getPrimaryKey(org.apache.openjpa.jdbc.meta.ClassMapping)"><!-- --></A><H3>
getPrimaryKey</H3>
<PRE>
protected <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getPrimaryKey</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>&nbsp;mapping)</PRE>
<DL>
<DD>Return the primary key value for the sequence table for the given class.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getSequence(org.apache.openjpa.jdbc.meta.ClassMapping, java.sql.Connection)"><!-- --></A><H3>
getSequence</H3>
<PRE>
protected long <B>getSequence</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>&nbsp;mapping,
                           <A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A>&nbsp;conn)
                    throws <A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
<DL>
<DD>Get the current sequence value.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>mapping</CODE> - ClassMapping of the entity whose sequence value will be
            obtained.<DD><CODE>conn</CODE> - Connection used issue SQL statements.
<DT><B>Returns:</B><DD>The current sequence value, or <code>SEQUENCE_NOT_FOUND</code>
         if the sequence could not be found.
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="setSequence(org.apache.openjpa.jdbc.meta.ClassMapping, org.apache.openjpa.jdbc.kernel.TableJDBCSeq.Status, int, boolean, java.sql.Connection)"><!-- --></A><H3>
setSequence</H3>
<PRE>
protected boolean <B>setSequence</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>&nbsp;mapping,
                              <A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.Status.html" title="class in org.apache.openjpa.jdbc.kernel">TableJDBCSeq.Status</A>&nbsp;stat,
                              int&nbsp;inc,
                              boolean&nbsp;updateStatSeq,
                              <A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A>&nbsp;conn)
                       throws <A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
<DL>
<DD>Grabs the next handful of sequence numbers.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>true if the sequence was updated, false if no sequence
 row existed for this mapping
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="resolveTableName(org.apache.openjpa.jdbc.meta.ClassMapping, org.apache.openjpa.jdbc.schema.Table)"><!-- --></A><H3>
resolveTableName</H3>
<PRE>
public <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>resolveTableName</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>&nbsp;mapping,
                               <A HREF="../../../../../org/apache/openjpa/jdbc/schema/Table.html" title="class in org.apache.openjpa.jdbc.schema">Table</A>&nbsp;table)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I></I>
<P>
<DD>Resolve a fully qualified table name
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>class</CODE> - mapping to get the schema name</DL>
</DD>
</DL>
<HR>

<A NAME="resolveTableIdentifier(org.apache.openjpa.jdbc.meta.ClassMapping, org.apache.openjpa.jdbc.schema.Table)"><!-- --></A><H3>
resolveTableIdentifier</H3>
<PRE>
public <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A> <B>resolveTableIdentifier</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>&nbsp;mapping,
                                           <A HREF="../../../../../org/apache/openjpa/jdbc/schema/Table.html" title="class in org.apache.openjpa.jdbc.schema">Table</A>&nbsp;table)</PRE>
<DL>
<DD>Resolve a fully qualified table name
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>class</CODE> - mapping to get the schema name</DL>
</DD>
</DL>
<HR>

<A NAME="refreshTable()"><!-- --></A><H3>
refreshTable</H3>
<PRE>
public void <B>refreshTable</B>()
                  throws <A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
<DL>
<DD>Creates the sequence table in the DB.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="dropTable()"><!-- --></A><H3>
dropTable</H3>
<PRE>
public void <B>dropTable</B>()
               throws <A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
<DL>
<DD>Drops the sequence table in the DB.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="main(java.lang.String[])"><!-- --></A><H3>
main</H3>
<PRE>
public static void <B>main</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;args)
                 throws <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Usage: java org.apache.openjpa.jdbc.schema.TableJDBCSequence [option]*
 -action/-a &lt;add | drop | get | set&gt; [value]
  Where the following options are recognized.
 <ul>
 <li><i>-properties/-p &lt;properties file or resource&gt;</i>: The
 path or resource name of a OpenJPA properties file containing
 information such as the license key    and connection data as
 outlined in <A HREF="../../../../../org/apache/openjpa/jdbc/conf/JDBCConfiguration.html" title="interface in org.apache.openjpa.jdbc.conf"><CODE>JDBCConfiguration</CODE></A>. Optional.</li>
 <li><i>-&lt;property name&gt; &lt;property value&gt;</i>: All bean
 properties of the OpenJPA <A HREF="../../../../../org/apache/openjpa/jdbc/conf/JDBCConfiguration.html" title="interface in org.apache.openjpa.jdbc.conf"><CODE>JDBCConfiguration</CODE></A> can be set by
 using their    names and supplying a value. For example:
 <code>-licenseKey adslfja83r3lkadf</code></li>
 </ul>
  The various actions are as follows.
 <ul>
 <li><i>add</i>: Create the sequence table.</li>
 <li><i>drop</i>: Drop the sequence table.</li>
 <li><i>get</i>: Print the current sequence value.</li>
 <li><i>set</i>: Set the sequence value.</li>
 </ul>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="run(org.apache.openjpa.jdbc.conf.JDBCConfiguration, java.lang.String[], org.apache.openjpa.lib.util.Options)"><!-- --></A><H3>
run</H3>
<PRE>
public static boolean <B>run</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/conf/JDBCConfiguration.html" title="interface in org.apache.openjpa.jdbc.conf">JDBCConfiguration</A>&nbsp;conf,
                          <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;args,
                          <A HREF="../../../../../org/apache/openjpa/lib/util/Options.html" title="class in org.apache.openjpa.lib.util">Options</A>&nbsp;opts)
                   throws <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Run the tool. Returns false if invalid options were given.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="run(org.apache.openjpa.jdbc.conf.JDBCConfiguration, java.lang.String[], java.lang.String)"><!-- --></A><H3>
run</H3>
<PRE>
public static boolean <B>run</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/conf/JDBCConfiguration.html" title="interface in org.apache.openjpa.jdbc.conf">JDBCConfiguration</A>&nbsp;conf,
                          <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;args,
                          <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;action)
                   throws <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Run the tool. Return false if an invalid option was given.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="prepareStatement(java.sql.Connection, org.apache.openjpa.jdbc.sql.SQLBuffer)"><!-- --></A><H3>
prepareStatement</H3>
<PRE>
protected <A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</A> <B>prepareStatement</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A>&nbsp;conn,
                                             <A HREF="../../../../../org/apache/openjpa/jdbc/sql/SQLBuffer.html" title="class in org.apache.openjpa.jdbc.sql">SQLBuffer</A>&nbsp;buf)
                                      throws <A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
<DL>
<DD>This method is to provide override for non-JDBC or JDBC-like 
 implementation of preparing statement.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="executeUpdate(org.apache.openjpa.jdbc.conf.JDBCConfiguration, java.sql.Connection, java.sql.PreparedStatement, org.apache.openjpa.jdbc.sql.SQLBuffer, int)"><!-- --></A><H3>
executeUpdate</H3>
<PRE>
protected int <B>executeUpdate</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/conf/JDBCConfiguration.html" title="interface in org.apache.openjpa.jdbc.conf">JDBCConfiguration</A>&nbsp;conf,
                            <A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A>&nbsp;conn,
                            <A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</A>&nbsp;stmnt,
                            <A HREF="../../../../../org/apache/openjpa/jdbc/sql/SQLBuffer.html" title="class in org.apache.openjpa.jdbc.sql">SQLBuffer</A>&nbsp;buf,
                            int&nbsp;opcode)
                     throws <A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
<DL>
<DD>This method is to provide override for non-JDBC or JDBC-like 
 implementation of executing update.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="executeQuery(org.apache.openjpa.jdbc.conf.JDBCConfiguration, java.sql.Connection, java.sql.PreparedStatement, org.apache.openjpa.jdbc.sql.SQLBuffer)"><!-- --></A><H3>
executeQuery</H3>
<PRE>
protected <A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/ResultSet.html?is-external=true" title="class or interface in java.sql">ResultSet</A> <B>executeQuery</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/conf/JDBCConfiguration.html" title="interface in org.apache.openjpa.jdbc.conf">JDBCConfiguration</A>&nbsp;conf,
                                 <A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A>&nbsp;conn,
                                 <A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</A>&nbsp;stmnt,
                                 <A HREF="../../../../../org/apache/openjpa/jdbc/sql/SQLBuffer.html" title="class in org.apache.openjpa.jdbc.sql">SQLBuffer</A>&nbsp;buf)
                          throws <A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
<DL>
<DD>This method is to provide override for non-JDBC or JDBC-like 
 implementation of executing query.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getSequence(java.sql.ResultSet, org.apache.openjpa.jdbc.sql.DBDictionary)"><!-- --></A><H3>
getSequence</H3>
<PRE>
protected long <B>getSequence</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/ResultSet.html?is-external=true" title="class or interface in java.sql">ResultSet</A>&nbsp;rs,
                           <A HREF="../../../../../org/apache/openjpa/jdbc/sql/DBDictionary.html" title="class in org.apache.openjpa.jdbc.sql">DBDictionary</A>&nbsp;dict)
                    throws <A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
<DL>
<DD>This method is to provide override for non-JDBC or JDBC-like 
 implementation of getting sequence from the result set.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="setUniqueConstraintName(java.lang.String)"><!-- --></A><H3>
setUniqueConstraintName</H3>
<PRE>
public void <B>setUniqueConstraintName</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;uniqueConstraintName)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setUniqueConstraintName(org.apache.openjpa.jdbc.identifier.DBIdentifier)"><!-- --></A><H3>
setUniqueConstraintName</H3>
<PRE>
public void <B>setUniqueConstraintName</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A>&nbsp;uniqueConstraintName)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getUniqueConstraintName()"><!-- --></A><H3>
getUniqueConstraintName</H3>
<PRE>
public <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getUniqueConstraintName</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getUniqueConstraintIdentifier()"><!-- --></A><H3>
getUniqueConstraintIdentifier</H3>
<PRE>
public <A HREF="../../../../../org/apache/openjpa/jdbc/identifier/DBIdentifier.html" title="class in org.apache.openjpa.jdbc.identifier">DBIdentifier</A> <B>getUniqueConstraintIdentifier</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <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/TableJDBCSeq.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-all.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/apache/openjpa/jdbc/kernel/SQLStoreQuery.SQLExecutor.html" title="class in org.apache.openjpa.jdbc.kernel"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/openjpa/jdbc/kernel/TableJDBCSeq.AllocateSequenceRunnable.html" title="class in org.apache.openjpa.jdbc.kernel"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?org/apache/openjpa/jdbc/kernel/TableJDBCSeq.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="TableJDBCSeq.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&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;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
Copyright &#169; 2006-2012 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>
