<!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.5.0_11) on Mon May 19 19:21:11 PDT 2008 -->
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<TITLE>
ColumnVersionStrategy (OpenJPA 1.1.0 API)
</TITLE>

<META NAME="keywords" CONTENT="org.apache.openjpa.jdbc.meta.strats.ColumnVersionStrategy class">

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

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="ColumnVersionStrategy (OpenJPA 1.1.0 API)";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

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


<!-- ========= 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/ColumnVersionStrategy.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/meta/strats/ClobValueHandler.html" title="class in org.apache.openjpa.jdbc.meta.strats"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/ContainerFieldStrategy.html" title="class in org.apache.openjpa.jdbc.meta.strats"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../../index.html?org/apache/openjpa/jdbc/meta/strats/ColumnVersionStrategy.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="ColumnVersionStrategy.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;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.openjpa.jdbc.meta.strats.AbstractVersionStrategy">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;FIELD&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.meta.strats</FONT>
<BR>
Class ColumnVersionStrategy</H2>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" 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/meta/strats/AbstractStrategy.html" title="class in org.apache.openjpa.jdbc.meta.strats">org.apache.openjpa.jdbc.meta.strats.AbstractStrategy</A>
      <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractVersionStrategy.html" title="class in org.apache.openjpa.jdbc.meta.strats">org.apache.openjpa.jdbc.meta.strats.AbstractVersionStrategy</A>
          <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.openjpa.jdbc.meta.strats.ColumnVersionStrategy</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>, <A HREF="../../../../../../org/apache/openjpa/jdbc/meta/Strategy.html" title="interface in org.apache.openjpa.jdbc.meta">Strategy</A>, <A HREF="../../../../../../org/apache/openjpa/jdbc/meta/VersionStrategy.html" title="interface in org.apache.openjpa.jdbc.meta">VersionStrategy</A></DD>
</DL>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/NumberVersionStrategy.html" title="class in org.apache.openjpa.jdbc.meta.strats">NumberVersionStrategy</A>, <A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/TimestampVersionStrategy.html" title="class in org.apache.openjpa.jdbc.meta.strats">TimestampVersionStrategy</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public abstract class <B>ColumnVersionStrategy</B><DT>extends <A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractVersionStrategy.html" title="class in org.apache.openjpa.jdbc.meta.strats">AbstractVersionStrategy</A></DL>
</PRE>

<P>
Uses a single column and corresponding version object.
<P>

<P>
<DL>
<DT><B>Author:</B></DT>
  <DD>Marc Prud'hommeaux</DD>
<DT><B>See Also:</B><DD><A HREF="../../../../../../serialized-form.html#org.apache.openjpa.jdbc.meta.strats.ColumnVersionStrategy">Serialized Form</A></DL>
<HR>

<P>
<!-- =========== 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>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.apache.openjpa.jdbc.meta.strats.AbstractVersionStrategy"><!-- --></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.meta.strats.<A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractVersionStrategy.html" title="class in org.apache.openjpa.jdbc.meta.strats">AbstractVersionStrategy</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractVersionStrategy.html#vers">vers</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/meta/strats/ColumnVersionStrategy.html#ColumnVersionStrategy()">ColumnVersionStrategy</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>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/ColumnVersionStrategy.html#checkVersion(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, boolean)">checkVersion</A></B>(<A HREF="../../../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A>&nbsp;sm,
             <A HREF="../../../../../../org/apache/openjpa/jdbc/kernel/JDBCStore.html" title="interface in org.apache.openjpa.jdbc.kernel">JDBCStore</A>&nbsp;store,
             boolean&nbsp;updateVersion)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Checks the version of the given state manager with the version
 stored in memory.</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/meta/strats/ColumnVersionStrategy.html#compare(java.lang.Object, java.lang.Object)">compare</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;v1,
        <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;v2)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compare the two versions.</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/meta/strats/ColumnVersionStrategy.html#compareVersion(java.lang.Object, java.lang.Object)">compareVersion</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;v1,
               <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;v2)</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/meta/strats/ColumnVersionStrategy.html#delete(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.sql.RowManager)">delete</A></B>(<A HREF="../../../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A>&nbsp;sm,
       <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/sql/RowManager.html" title="interface in org.apache.openjpa.jdbc.sql">RowManager</A>&nbsp;rm)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the where values appropriately to delete the proper instance,
 and set all relations on non-secondary tables as updates.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected abstract &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/ColumnVersionStrategy.html#getJavaType()">getJavaType</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the code from <A HREF="../../../../../../org/apache/openjpa/meta/JavaTypes.html" title="class in org.apache.openjpa.meta"><CODE>JavaTypes</CODE></A> for the version values this
 strategy uses.</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/meta/strats/ColumnVersionStrategy.html#insert(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.sql.RowManager)">insert</A></B>(<A HREF="../../../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A>&nbsp;sm,
       <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/sql/RowManager.html" title="interface in org.apache.openjpa.jdbc.sql">RowManager</A>&nbsp;rm)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set values for the mapping into the proper rows.</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/meta/strats/ColumnVersionStrategy.html#load(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.sql.Result)">load</A></B>(<A HREF="../../../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A>&nbsp;sm,
     <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/sql/Result.html" title="interface in org.apache.openjpa.jdbc.sql">Result</A>&nbsp;res)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Load data.</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/meta/strats/ColumnVersionStrategy.html#map(boolean)">map</A></B>(boolean&nbsp;adapt)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Map the owning mapping using this strategy.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected abstract &nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/ColumnVersionStrategy.html#nextVersion(java.lang.Object)">nextVersion</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;version)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the next version given the current one, which may be null.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/ColumnVersionStrategy.html#select(org.apache.openjpa.jdbc.sql.Select, org.apache.openjpa.jdbc.meta.ClassMapping)">select</A></B>(<A HREF="../../../../../../org/apache/openjpa/jdbc/sql/Select.html" title="interface in org.apache.openjpa.jdbc.sql">Select</A>&nbsp;sel,
       <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;Select the data for this indicator.</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/meta/strats/ColumnVersionStrategy.html#update(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.sql.RowManager)">update</A></B>(<A HREF="../../../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A>&nbsp;sm,
       <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/sql/RowManager.html" title="interface in org.apache.openjpa.jdbc.sql">RowManager</A>&nbsp;rm)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set values for the mapping into the proper rows.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.openjpa.jdbc.meta.strats.AbstractVersionStrategy"><!-- --></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.meta.strats.<A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractVersionStrategy.html" title="class in org.apache.openjpa.jdbc.meta.strats">AbstractVersionStrategy</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractVersionStrategy.html#afterLoad(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore)">afterLoad</A>, <A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractVersionStrategy.html#getBulkUpdateValues()">getBulkUpdateValues</A>, <A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractVersionStrategy.html#setVersion(org.apache.openjpa.jdbc.meta.Version)">setVersion</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.openjpa.jdbc.meta.strats.AbstractStrategy"><!-- --></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.meta.strats.<A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractStrategy.html" title="class in org.apache.openjpa.jdbc.meta.strats">AbstractStrategy</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractStrategy.html#customDelete(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore)">customDelete</A>, <A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractStrategy.html#customInsert(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore)">customInsert</A>, <A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractStrategy.html#customUpdate(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore)">customUpdate</A>, <A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractStrategy.html#getAlias()">getAlias</A>, <A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractStrategy.html#initialize()">initialize</A>, <A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractStrategy.html#isCustomDelete(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore)">isCustomDelete</A>, <A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractStrategy.html#isCustomInsert(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore)">isCustomInsert</A>, <A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractStrategy.html#isCustomUpdate(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore)">isCustomUpdate</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://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.openjpa.jdbc.meta.Strategy"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from interface org.apache.openjpa.jdbc.meta.<A HREF="../../../../../../org/apache/openjpa/jdbc/meta/Strategy.html" title="interface in org.apache.openjpa.jdbc.meta">Strategy</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/Strategy.html#customDelete(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore)">customDelete</A>, <A HREF="../../../../../../org/apache/openjpa/jdbc/meta/Strategy.html#customInsert(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore)">customInsert</A>, <A HREF="../../../../../../org/apache/openjpa/jdbc/meta/Strategy.html#customUpdate(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore)">customUpdate</A>, <A HREF="../../../../../../org/apache/openjpa/jdbc/meta/Strategy.html#getAlias()">getAlias</A>, <A HREF="../../../../../../org/apache/openjpa/jdbc/meta/Strategy.html#initialize()">initialize</A>, <A HREF="../../../../../../org/apache/openjpa/jdbc/meta/Strategy.html#isCustomDelete(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore)">isCustomDelete</A>, <A HREF="../../../../../../org/apache/openjpa/jdbc/meta/Strategy.html#isCustomInsert(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore)">isCustomInsert</A>, <A HREF="../../../../../../org/apache/openjpa/jdbc/meta/Strategy.html#isCustomUpdate(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore)">isCustomUpdate</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ========= 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="ColumnVersionStrategy()"><!-- --></A><H3>
ColumnVersionStrategy</H3>
<PRE>
public <B>ColumnVersionStrategy</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="getJavaType()"><!-- --></A><H3>
getJavaType</H3>
<PRE>
protected abstract int <B>getJavaType</B>()</PRE>
<DL>
<DD>Return the code from <A HREF="../../../../../../org/apache/openjpa/meta/JavaTypes.html" title="class in org.apache.openjpa.meta"><CODE>JavaTypes</CODE></A> for the version values this
 strategy uses. This method is only used during mapping installation.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="nextVersion(java.lang.Object)"><!-- --></A><H3>
nextVersion</H3>
<PRE>
protected abstract <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>nextVersion</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;version)</PRE>
<DL>
<DD>Return the next version given the current one, which may be null.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="compare(java.lang.Object, java.lang.Object)"><!-- --></A><H3>
compare</H3>
<PRE>
protected int <B>compare</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;v1,
                      <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;v2)</PRE>
<DL>
<DD>Compare the two versions. Defaults to assuming the version objects
 implement <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Comparable.html" title="class or interface in java.lang"><CODE>Comparable</CODE></A>.
<P>
<DD><DL>
<DT><B>See Also:</B><DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Comparator.html#compare(T, T)" title="class or interface in java.util"><CODE>Comparator.compare(T, T)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="map(boolean)"><!-- --></A><H3>
map</H3>
<PRE>
public void <B>map</B>(boolean&nbsp;adapt)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/Strategy.html#map(boolean)">Strategy</A></CODE></B></DD>
<DD>Map the owning mapping using this strategy.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/Strategy.html#map(boolean)">map</A></CODE> in interface <CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/Strategy.html" title="interface in org.apache.openjpa.jdbc.meta">Strategy</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractStrategy.html#map(boolean)">map</A></CODE> in class <CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractStrategy.html" title="class in org.apache.openjpa.jdbc.meta.strats">AbstractStrategy</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>adapt</CODE> - if true, use the owning mapping's raw mapping info
 to set its ORM data; if false, ORM data will already be set</DL>
</DD>
</DL>
<HR>

<A NAME="insert(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.sql.RowManager)"><!-- --></A><H3>
insert</H3>
<PRE>
public void <B>insert</B>(<A HREF="../../../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A>&nbsp;sm,
                   <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/sql/RowManager.html" title="interface in org.apache.openjpa.jdbc.sql">RowManager</A>&nbsp;rm)
            throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html" title="class or interface in java.sql">SQLException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/Strategy.html#insert(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.sql.RowManager)">Strategy</A></CODE></B></DD>
<DD>Set values for the mapping into the proper rows. For class mappings,
 this method    will be called only after the corresponding method has
 been called for all fields of this mapping.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/Strategy.html#insert(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.sql.RowManager)">insert</A></CODE> in interface <CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/Strategy.html" title="interface in org.apache.openjpa.jdbc.meta">Strategy</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractStrategy.html#insert(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.sql.RowManager)">insert</A></CODE> in class <CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractStrategy.html" title="class in org.apache.openjpa.jdbc.meta.strats">AbstractStrategy</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html" title="class or interface in java.sql">SQLException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="update(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.sql.RowManager)"><!-- --></A><H3>
update</H3>
<PRE>
public void <B>update</B>(<A HREF="../../../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A>&nbsp;sm,
                   <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/sql/RowManager.html" title="interface in org.apache.openjpa.jdbc.sql">RowManager</A>&nbsp;rm)
            throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html" title="class or interface in java.sql">SQLException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/Strategy.html#update(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.sql.RowManager)">Strategy</A></CODE></B></DD>
<DD>Set values for the mapping into the proper rows.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/Strategy.html#update(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.sql.RowManager)">update</A></CODE> in interface <CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/Strategy.html" title="interface in org.apache.openjpa.jdbc.meta">Strategy</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractStrategy.html#update(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.sql.RowManager)">update</A></CODE> in class <CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractStrategy.html" title="class in org.apache.openjpa.jdbc.meta.strats">AbstractStrategy</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html" title="class or interface in java.sql">SQLException</A></CODE><DT><B>See Also:</B><DD><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/Strategy.html#insert(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.sql.RowManager)"><CODE>Strategy.insert(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.sql.RowManager)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="delete(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.sql.RowManager)"><!-- --></A><H3>
delete</H3>
<PRE>
public void <B>delete</B>(<A HREF="../../../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A>&nbsp;sm,
                   <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/sql/RowManager.html" title="interface in org.apache.openjpa.jdbc.sql">RowManager</A>&nbsp;rm)
            throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html" title="class or interface in java.sql">SQLException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/Strategy.html#delete(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.sql.RowManager)">Strategy</A></CODE></B></DD>
<DD>Set the where values appropriately to delete the proper instance,
 and set all relations on non-secondary tables as updates. This allows
 foreign key analysis.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/Strategy.html#delete(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.sql.RowManager)">delete</A></CODE> in interface <CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/Strategy.html" title="interface in org.apache.openjpa.jdbc.meta">Strategy</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractStrategy.html#delete(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.sql.RowManager)">delete</A></CODE> in class <CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractStrategy.html" title="class in org.apache.openjpa.jdbc.meta.strats">AbstractStrategy</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html" title="class or interface in java.sql">SQLException</A></CODE><DT><B>See Also:</B><DD><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/Strategy.html#insert(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.sql.RowManager)"><CODE>Strategy.insert(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.sql.RowManager)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="select(org.apache.openjpa.jdbc.sql.Select, org.apache.openjpa.jdbc.meta.ClassMapping)"><!-- --></A><H3>
select</H3>
<PRE>
public boolean <B>select</B>(<A HREF="../../../../../../org/apache/openjpa/jdbc/sql/Select.html" title="interface in org.apache.openjpa.jdbc.sql">Select</A>&nbsp;sel,
                      <A HREF="../../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>&nbsp;mapping)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/VersionStrategy.html#select(org.apache.openjpa.jdbc.sql.Select, org.apache.openjpa.jdbc.meta.ClassMapping)">VersionStrategy</A></CODE></B></DD>
<DD>Select the data for this indicator.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/VersionStrategy.html#select(org.apache.openjpa.jdbc.sql.Select, org.apache.openjpa.jdbc.meta.ClassMapping)">select</A></CODE> in interface <CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/VersionStrategy.html" title="interface in org.apache.openjpa.jdbc.meta">VersionStrategy</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractVersionStrategy.html#select(org.apache.openjpa.jdbc.sql.Select, org.apache.openjpa.jdbc.meta.ClassMapping)">select</A></CODE> in class <CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractVersionStrategy.html" title="class in org.apache.openjpa.jdbc.meta.strats">AbstractVersionStrategy</A></CODE></DL>
</DD>
<DD><DL>
<DD><CODE>mapping</CODE> - the known base class being selected; this may
 not be the base class in the inheritance hierarchy
<DT><B>Returns:</B><DD>true if anything was selected; false otherwise</DL>
</DD>
</DL>
<HR>

<A NAME="load(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.sql.Result)"><!-- --></A><H3>
load</H3>
<PRE>
public void <B>load</B>(<A HREF="../../../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A>&nbsp;sm,
                 <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/sql/Result.html" title="interface in org.apache.openjpa.jdbc.sql">Result</A>&nbsp;res)
          throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html" title="class or interface in java.sql">SQLException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/VersionStrategy.html#load(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.sql.Result)">VersionStrategy</A></CODE></B></DD>
<DD>Load data.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/VersionStrategy.html#load(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.sql.Result)">load</A></CODE> in interface <CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/VersionStrategy.html" title="interface in org.apache.openjpa.jdbc.meta">VersionStrategy</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractVersionStrategy.html#load(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.sql.Result)">load</A></CODE> in class <CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractVersionStrategy.html" title="class in org.apache.openjpa.jdbc.meta.strats">AbstractVersionStrategy</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html" title="class or interface in java.sql">SQLException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="checkVersion(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, boolean)"><!-- --></A><H3>
checkVersion</H3>
<PRE>
public boolean <B>checkVersion</B>(<A HREF="../../../../../../org/apache/openjpa/kernel/OpenJPAStateManager.html" title="interface in org.apache.openjpa.kernel">OpenJPAStateManager</A>&nbsp;sm,
                            <A HREF="../../../../../../org/apache/openjpa/jdbc/kernel/JDBCStore.html" title="interface in org.apache.openjpa.jdbc.kernel">JDBCStore</A>&nbsp;store,
                            boolean&nbsp;updateVersion)
                     throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html" title="class or interface in java.sql">SQLException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/VersionStrategy.html#checkVersion(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, boolean)">VersionStrategy</A></CODE></B></DD>
<DD>Checks the version of the given state manager with the version
 stored in memory.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/VersionStrategy.html#checkVersion(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, boolean)">checkVersion</A></CODE> in interface <CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/VersionStrategy.html" title="interface in org.apache.openjpa.jdbc.meta">VersionStrategy</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractVersionStrategy.html#checkVersion(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, boolean)">checkVersion</A></CODE> in class <CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractVersionStrategy.html" title="class in org.apache.openjpa.jdbc.meta.strats">AbstractVersionStrategy</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>true if the in-memory version was up-to-date, false otherwise
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html" title="class or interface in java.sql">SQLException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="compareVersion(java.lang.Object, java.lang.Object)"><!-- --></A><H3>
compareVersion</H3>
<PRE>
public int <B>compareVersion</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;v1,
                          <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;v2)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/VersionStrategy.html#compareVersion(java.lang.Object, java.lang.Object)">compareVersion</A></CODE> in interface <CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/VersionStrategy.html" title="interface in org.apache.openjpa.jdbc.meta">VersionStrategy</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractVersionStrategy.html#compareVersion(java.lang.Object, java.lang.Object)">compareVersion</A></CODE> in class <CODE><A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/AbstractVersionStrategy.html" title="class in org.apache.openjpa.jdbc.meta.strats">AbstractVersionStrategy</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../../org/apache/openjpa/kernel/StoreManager.html#compareVersion(org.apache.openjpa.kernel.OpenJPAStateManager, java.lang.Object, java.lang.Object)"><CODE>StoreManager.compareVersion(org.apache.openjpa.kernel.OpenJPAStateManager, java.lang.Object, java.lang.Object)</CODE></A></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/ColumnVersionStrategy.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/meta/strats/ClobValueHandler.html" title="class in org.apache.openjpa.jdbc.meta.strats"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../org/apache/openjpa/jdbc/meta/strats/ContainerFieldStrategy.html" title="class in org.apache.openjpa.jdbc.meta.strats"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../../index.html?org/apache/openjpa/jdbc/meta/strats/ColumnVersionStrategy.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="ColumnVersionStrategy.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;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_org.apache.openjpa.jdbc.meta.strats.AbstractVersionStrategy">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;FIELD&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 &copy; 2006-2008 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>
