<!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) on Tue Nov 06 17:41:15 CST 2007 -->
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<TITLE>
ReverseMappingTool (OpenJPA 1.0.1 API)
</TITLE>

<META NAME="keywords" CONTENT="org.apache.openjpa.jdbc.meta.ReverseMappingTool class">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="ReverseMappingTool (OpenJPA 1.0.1 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;<A HREF="#main"><FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ReverseMappingTool.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/ReverseCustomizer.html" title="interface in org.apache.openjpa.jdbc.meta"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.Flags.html" title="class in org.apache.openjpa.jdbc.meta"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?org/apache/openjpa/jdbc/meta/ReverseMappingTool.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="ReverseMappingTool.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>
<A NAME="main"></A>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.openjpa.jdbc.meta</FONT>
<BR>
Class ReverseMappingTool</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 "><B>org.apache.openjpa.jdbc.meta.ReverseMappingTool</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../../../org/apache/openjpa/meta/MetaDataModes.html" title="interface in org.apache.openjpa.meta">MetaDataModes</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>ReverseMappingTool</B><DT>extends <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><DT>implements <A HREF="../../../../../org/apache/openjpa/meta/MetaDataModes.html" title="interface in org.apache.openjpa.meta">MetaDataModes</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A></DL>
</PRE>

<P>
Reverse-maps a schema into class mappings and the assiciated java
 code. Generates a Java code files for persistent classes and associated
 identity classes and metadata.
<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>static&nbsp;class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.Flags.html" title="class in org.apache.openjpa.jdbc.meta">ReverseMappingTool.Flags</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Holder for run flags.</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://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#ACCESS_TYPE_FIELD">ACCESS_TYPE_FIELD</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Access type for generated source, defaults to field-based access.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#ACCESS_TYPE_PROPERTY">ACCESS_TYPE_PROPERTY</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://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#LEVEL_CLASS">LEVEL_CLASS</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://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#LEVEL_NONE">LEVEL_NONE</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://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#LEVEL_PACKAGE">LEVEL_PACKAGE</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;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#TABLE_ASSOCIATION">TABLE_ASSOCIATION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Association table.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#TABLE_BASE">TABLE_BASE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Primary table for a new base class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#TABLE_NONE">TABLE_NONE</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Unmapped table.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#TABLE_SECONDARY">TABLE_SECONDARY</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Secondary table of an existing class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#TABLE_SECONDARY_OUTER">TABLE_SECONDARY_OUTER</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Secondary table of an existing class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#TABLE_SUBCLASS">TABLE_SUBCLASS</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Subclass table.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.apache.openjpa.meta.MetaDataModes"><!-- --></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.meta.<A HREF="../../../../../org/apache/openjpa/meta/MetaDataModes.html" title="interface in org.apache.openjpa.meta">MetaDataModes</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/openjpa/meta/MetaDataModes.html#MODE_ANN_MAPPING">MODE_ANN_MAPPING</A>, <A HREF="../../../../../org/apache/openjpa/meta/MetaDataModes.html#MODE_MAPPING">MODE_MAPPING</A>, <A HREF="../../../../../org/apache/openjpa/meta/MetaDataModes.html#MODE_MAPPING_INIT">MODE_MAPPING_INIT</A>, <A HREF="../../../../../org/apache/openjpa/meta/MetaDataModes.html#MODE_META">MODE_META</A>, <A HREF="../../../../../org/apache/openjpa/meta/MetaDataModes.html#MODE_NONE">MODE_NONE</A>, <A HREF="../../../../../org/apache/openjpa/meta/MetaDataModes.html#MODE_QUERY">MODE_QUERY</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/ReverseMappingTool.html#ReverseMappingTool(org.apache.openjpa.jdbc.conf.JDBCConfiguration)">ReverseMappingTool</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/conf/JDBCConfiguration.html" title="interface in org.apache.openjpa.jdbc.conf">JDBCConfiguration</A>&nbsp;conf)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor.</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;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#addConstraints(org.apache.openjpa.jdbc.meta.ValueMapping)">addConstraints</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/meta/ValueMapping.html" title="interface in org.apache.openjpa.jdbc.meta">ValueMapping</A>&nbsp;vm)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add existing unique constraints and indexes to the given 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/meta/ReverseMappingTool.html#addJoinConstraints(org.apache.openjpa.jdbc.meta.FieldMapping)">addJoinConstraints</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/meta/FieldMapping.html" title="class in org.apache.openjpa.jdbc.meta">FieldMapping</A>&nbsp;field)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add existing unique constraints and indexes to the given field's join.</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/ReverseMappingTool.html#buildAnnotations()">buildAnnotations</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://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/ReverseMappingTool.html#clone()">clone</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a new tool with the same settings as this one.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#generateClass(java.lang.String, java.lang.Class)">generateClass</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
              <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&nbsp;parent)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Generate a new class with the given name.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#getAccessType()">getAccessType</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether to use field or property-based access on generated code.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#getAnnotationsForMeta(java.lang.Object)">getAnnotationsForMeta</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;meta)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a list of stringified annotations for specified meta.</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/ReverseMappingTool.html#getBlobAsObject()">getBlobAsObject</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether to reverse-map blob columns as containing serialized Java
 objects, rather than the default of using a byte[] field.</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/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#getClassMapping(org.apache.openjpa.jdbc.schema.Table)">getClassMapping</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;Return the class mapping for the given table, or null if none.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/openjpa/lib/util/CodeFormat.html" title="class in org.apache.openjpa.lib.util">CodeFormat</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#getCodeFormat()">getCodeFormat</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The code formatter for the generated Java code.</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/meta/ReverseMappingTool.html#getConfiguration()">getConfiguration</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the configuration provided on construction.</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/meta/ReverseCustomizer.html" title="interface in org.apache.openjpa.jdbc.meta">ReverseCustomizer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#getCustomizer()">getCustomizer</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the customizer in use, or null if none.</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/ReverseMappingTool.html#getDetachable()">getDetachable</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether to make generated classes detachable.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io">File</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#getDirectory()">getDirectory</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The file to output the generated code to, or null for
 the current directory.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#getDiscriminatorStrategy()">getDiscriminatorStrategy</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default discriminator strategy for base class mappings.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#getFieldName(java.lang.String, org.apache.openjpa.jdbc.meta.ClassMapping)">getFieldName</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
             <A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>&nbsp;dec)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a default Java identifier-formatted name for the given
 column/table name.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#getFieldType(org.apache.openjpa.jdbc.schema.Column, boolean)">getFieldType</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/schema/Column.html" title="class in org.apache.openjpa.jdbc.schema">Column</A>&nbsp;col,
             boolean&nbsp;forceObject)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the default field type for the given column.</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/ReverseMappingTool.html#getGenerateAnnotations()">getGenerateAnnotations</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether to generate annotations along with generated code.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#getIdentityClassSuffix()">getIdentityClassSuffix</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Suffix used to create application identity class name from a class name,
 or in the case of inner identity classes, the inner class name.</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/ReverseMappingTool.html#getInnerIdentityClasses()">getInnerIdentityClasses</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether or not to generate inner classes when creating application
 identity classes.</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/ReverseMappingTool.html#getInverseRelations()">getInverseRelations</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether to generate inverse 1-many/1-1 relations for all many-1/1-1
 relations.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/openjpa/lib/log/Log.html" title="interface in org.apache.openjpa.lib.log">Log</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#getLog()">getLog</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the log to write to.</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/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#getMappings()">getMappings</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the generated mappings.</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/ReverseMappingTool.html#getNullableAsObject()">getNullableAsObject</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return whether even nullable columns will be mapped to wrappers
 rather than primitives.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#getPackageName()">getPackageName</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the default package for the generated classes, or null if unset.</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/ReverseMappingTool.html#getPrimaryKeyOnJoin()">getPrimaryKeyOnJoin</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return true if join tables are allowed to have primary keys, false
 if all primary key tables will be mapped as persistent classes.</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/meta/MappingRepository.html" title="class in org.apache.openjpa.jdbc.meta">MappingRepository</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#getRepository()">getRepository</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the mapping repository used to hold generated mappings.</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/schema/SchemaGroup.html" title="class in org.apache.openjpa.jdbc.schema">SchemaGroup</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#getSchemaGroup()">getSchemaGroup</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the schema group to reverse map.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html" title="class or interface in java.util">Properties</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#getTypeMap()">getTypeMap</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Map of JDBC-name to Java-type-name entries that allows customization
 of reverse mapping columns to field types.</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/schema/ForeignKey.html" title="class in org.apache.openjpa.jdbc.schema">ForeignKey</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#getUniqueForeignKey(org.apache.openjpa.jdbc.schema.Table)">getUniqueForeignKey</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;If the given table has a single unique foreign key or a foreign
 key that matches the primary key, return it.</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/ReverseMappingTool.html#getUseBuiltinIdentityClass()">getUseBuiltinIdentityClass</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether to use built in identity classes when possible.</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/ReverseMappingTool.html#getUseDataStoreIdentity()">getUseDataStoreIdentity</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether to use datastore identity when possible.</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/ReverseMappingTool.html#getUseForeignKeyName()">getUseForeignKeyName</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return whether the foreign key name will be used to generate
 relation names.</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/ReverseMappingTool.html#getUseGenericCollections()">getUseGenericCollections</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether to use generic collections on one-to-many and many-to-many
 relations instead of untyped collections.</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/ReverseMappingTool.html#getUseSchemaName()">getUseSchemaName</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return true if the schema name will be included in the generated
 class name for each table.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#getVersionStrategy()">getVersionStrategy</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default version strategy for base class mappings.</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/ReverseMappingTool.html#isBaseTable(org.apache.openjpa.jdbc.schema.Table)">isBaseTable</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;Return whether the given table is a base class table.</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/ReverseMappingTool.html#isUnique(org.apache.openjpa.jdbc.schema.ForeignKey)">isUnique</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/schema/ForeignKey.html" title="class in org.apache.openjpa.jdbc.schema">ForeignKey</A>&nbsp;fk)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return whether the given foreign key is unique.</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/meta/ReverseMappingTool.html#main(java.lang.String[])">main</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" 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.meta.ReverseMappingTool
 [option]* &lt;.schema file or resource&gt;*
  Where the following options are recognized.</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/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#newClassMapping(java.lang.Class, org.apache.openjpa.jdbc.schema.Table)">newClassMapping</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&nbsp;cls,
                <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;Create a new class to be mapped to a 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/meta/FieldMapping.html" title="class in org.apache.openjpa.jdbc.meta">FieldMapping</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#newFieldMapping(java.lang.String, java.lang.Class, org.apache.openjpa.jdbc.schema.Column, org.apache.openjpa.jdbc.schema.ForeignKey, org.apache.openjpa.jdbc.meta.ClassMapping)">newFieldMapping</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
                <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&nbsp;type,
                <A HREF="../../../../../org/apache/openjpa/jdbc/schema/Column.html" title="class in org.apache.openjpa.jdbc.schema">Column</A>&nbsp;col,
                <A HREF="../../../../../org/apache/openjpa/jdbc/schema/ForeignKey.html" title="class in org.apache.openjpa.jdbc.schema">ForeignKey</A>&nbsp;fk,
                <A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>&nbsp;dec)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a field mapping for the given info, or return null if
 customizer rejects.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#recordCode()">recordCode</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Uses <A HREF="../../../../../org/apache/openjpa/enhance/CodeGenerator.html" title="class in org.apache.openjpa.enhance"><CODE>CodeGenerator</CODE></A>s to write the Java code for the generated
 mappings to the proper packages.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#recordCode(java.util.Map)">recordCode</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A>&nbsp;output)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Write the code for the tool.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#recordMetaData(boolean)">recordMetaData</A></B>(boolean&nbsp;perClass)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Write the generated metadata to the proper packages.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#recordMetaData(boolean, java.util.Map)">recordMetaData</A></B>(boolean&nbsp;perClass,
               <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A>&nbsp;output)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Write the code for 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/meta/ReverseMappingTool.html#run()">run</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Generate mappings and class code for the current schema group.</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/meta/ReverseMappingTool.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://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" 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;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.html#run(org.apache.openjpa.jdbc.conf.JDBCConfiguration, java.lang.String[], org.apache.openjpa.jdbc.meta.ReverseMappingTool.Flags, java.lang.ClassLoader)">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://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>[]&nbsp;args,
    <A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.Flags.html" title="class in org.apache.openjpa.jdbc.meta">ReverseMappingTool.Flags</A>&nbsp;flags,
    <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/ClassLoader.html" title="class or interface in java.lang">ClassLoader</A>&nbsp;loader)</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/meta/ReverseMappingTool.html#setAccessType(java.lang.String)">setAccessType</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;accessType)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether to use field or property-based access on generated code.</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/ReverseMappingTool.html#setBlobAsObject(boolean)">setBlobAsObject</A></B>(boolean&nbsp;blobAsObj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether to reverse-map blob columns as containing serialized Java
 objects, rather than the default of using a byte[] field.</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/ReverseMappingTool.html#setCodeFormat(org.apache.openjpa.lib.util.CodeFormat)">setCodeFormat</A></B>(<A HREF="../../../../../org/apache/openjpa/lib/util/CodeFormat.html" title="class in org.apache.openjpa.lib.util">CodeFormat</A>&nbsp;format)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the code formatter for the generated Java code.</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/ReverseMappingTool.html#setCustomizer(org.apache.openjpa.jdbc.meta.ReverseCustomizer)">setCustomizer</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseCustomizer.html" title="interface in org.apache.openjpa.jdbc.meta">ReverseCustomizer</A>&nbsp;customizer)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the customizer.</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/ReverseMappingTool.html#setDetachable(boolean)">setDetachable</A></B>(boolean&nbsp;detachable)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether to make generated classes detachable.</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/ReverseMappingTool.html#setDirectory(java.io.File)">setDirectory</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io">File</A>&nbsp;dir)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The file to output the generated code to, or null for
 the current directory.</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/ReverseMappingTool.html#setDiscriminatorStrategy(java.lang.String)">setDiscriminatorStrategy</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;discStrat)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default discriminator strategy for base class mappings.</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/ReverseMappingTool.html#setGenerateAnnotations(boolean)">setGenerateAnnotations</A></B>(boolean&nbsp;genAnnotations)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether to generate annotations along with generated code.</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/ReverseMappingTool.html#setIdentityClassSuffix(java.lang.String)">setIdentityClassSuffix</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;suffix)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Suffix used to create application identity class name from a class name,
 or in the case of inner identity classes, the inner class 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/meta/ReverseMappingTool.html#setInnerIdentityClasses(boolean)">setInnerIdentityClasses</A></B>(boolean&nbsp;inner)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether or not to generate inner classes when creating application
 identity classes.</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/ReverseMappingTool.html#setInverseRelations(boolean)">setInverseRelations</A></B>(boolean&nbsp;inverse)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether to generate inverse 1-many/1-1 relations for all many-1/1-1
 relations.</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/ReverseMappingTool.html#setNullableAsObject(boolean)">setNullableAsObject</A></B>(boolean&nbsp;nullAsObj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set whether even nullable columns will be mapped to wrappers
 rather than primitives.</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/ReverseMappingTool.html#setPackageName(java.lang.String)">setPackageName</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;packageName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the default package for the generated classes; use null to
 indicate no package.</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/ReverseMappingTool.html#setPrimaryKeyOnJoin(boolean)">setPrimaryKeyOnJoin</A></B>(boolean&nbsp;pkOnJoin)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set to true if join tables are allowed to have primary keys, false
 if all primary key tables will be mapped as persistent classes.</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/ReverseMappingTool.html#setRepository(org.apache.openjpa.jdbc.meta.MappingRepository)">setRepository</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/meta/MappingRepository.html" title="class in org.apache.openjpa.jdbc.meta">MappingRepository</A>&nbsp;repos)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the repository to use.</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/ReverseMappingTool.html#setSchemaGroup(org.apache.openjpa.jdbc.schema.SchemaGroup)">setSchemaGroup</A></B>(<A HREF="../../../../../org/apache/openjpa/jdbc/schema/SchemaGroup.html" title="class in org.apache.openjpa.jdbc.schema">SchemaGroup</A>&nbsp;schema)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the schema to reverse map.</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/ReverseMappingTool.html#setTypeMap(java.util.Properties)">setTypeMap</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html" title="class or interface in java.util">Properties</A>&nbsp;typeMap)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Map of JDBC-name to Java-type-name entries that allows customization
 of reverse mapping columns to field types.</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/ReverseMappingTool.html#setUseBuiltinIdentityClass(boolean)">setUseBuiltinIdentityClass</A></B>(boolean&nbsp;builtin)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether to use built in identity classes when possible.</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/ReverseMappingTool.html#setUseDataStoreIdentity(boolean)">setUseDataStoreIdentity</A></B>(boolean&nbsp;datastore)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether to use datastore identity when possible.</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/ReverseMappingTool.html#setUseForeignKeyName(boolean)">setUseForeignKeyName</A></B>(boolean&nbsp;useFK)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set whether the foreign key name will be used to generate
 relation names.</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/ReverseMappingTool.html#setUseGenericCollections(boolean)">setUseGenericCollections</A></B>(boolean&nbsp;useGenericCollections)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether to use generic collections on one-to-many and many-to-many
 relations instead of untyped collections.</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/ReverseMappingTool.html#setUseSchemaName(boolean)">setUseSchemaName</A></B>(boolean&nbsp;useSchema)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set whether the schema name will be included in the generated
 class name for each 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/meta/ReverseMappingTool.html#setVersionStrategy(java.lang.String)">setVersionStrategy</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;versionStrat)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default version strategy for base class mappings.</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#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;
<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="TABLE_NONE"><!-- --></A><H3>
TABLE_NONE</H3>
<PRE>
public static final int <B>TABLE_NONE</B></PRE>
<DL>
<DD>Unmapped table.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.openjpa.jdbc.meta.ReverseMappingTool.TABLE_NONE">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="TABLE_BASE"><!-- --></A><H3>
TABLE_BASE</H3>
<PRE>
public static final int <B>TABLE_BASE</B></PRE>
<DL>
<DD>Primary table for a new base class.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.openjpa.jdbc.meta.ReverseMappingTool.TABLE_BASE">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="TABLE_SECONDARY"><!-- --></A><H3>
TABLE_SECONDARY</H3>
<PRE>
public static final int <B>TABLE_SECONDARY</B></PRE>
<DL>
<DD>Secondary table of an existing class. There is exactly one row in
 this table for each row in the primary table.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.openjpa.jdbc.meta.ReverseMappingTool.TABLE_SECONDARY">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="TABLE_SECONDARY_OUTER"><!-- --></A><H3>
TABLE_SECONDARY_OUTER</H3>
<PRE>
public static final int <B>TABLE_SECONDARY_OUTER</B></PRE>
<DL>
<DD>Secondary table of an existing class. There is zero or one row in
 this table for each row in the primary table.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.openjpa.jdbc.meta.ReverseMappingTool.TABLE_SECONDARY_OUTER">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="TABLE_ASSOCIATION"><!-- --></A><H3>
TABLE_ASSOCIATION</H3>
<PRE>
public static final int <B>TABLE_ASSOCIATION</B></PRE>
<DL>
<DD>Association table.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.openjpa.jdbc.meta.ReverseMappingTool.TABLE_ASSOCIATION">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="TABLE_SUBCLASS"><!-- --></A><H3>
TABLE_SUBCLASS</H3>
<PRE>
public static final int <B>TABLE_SUBCLASS</B></PRE>
<DL>
<DD>Subclass table.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.openjpa.jdbc.meta.ReverseMappingTool.TABLE_SUBCLASS">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="LEVEL_NONE"><!-- --></A><H3>
LEVEL_NONE</H3>
<PRE>
public static final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>LEVEL_NONE</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.openjpa.jdbc.meta.ReverseMappingTool.LEVEL_NONE">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="LEVEL_PACKAGE"><!-- --></A><H3>
LEVEL_PACKAGE</H3>
<PRE>
public static final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>LEVEL_PACKAGE</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.openjpa.jdbc.meta.ReverseMappingTool.LEVEL_PACKAGE">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="LEVEL_CLASS"><!-- --></A><H3>
LEVEL_CLASS</H3>
<PRE>
public static final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>LEVEL_CLASS</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.openjpa.jdbc.meta.ReverseMappingTool.LEVEL_CLASS">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="ACCESS_TYPE_FIELD"><!-- --></A><H3>
ACCESS_TYPE_FIELD</H3>
<PRE>
public static final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>ACCESS_TYPE_FIELD</B></PRE>
<DL>
<DD>Access type for generated source, defaults to field-based access.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.openjpa.jdbc.meta.ReverseMappingTool.ACCESS_TYPE_FIELD">Constant Field Values</A></DL>
</DL>
<HR>

<A NAME="ACCESS_TYPE_PROPERTY"><!-- --></A><H3>
ACCESS_TYPE_PROPERTY</H3>
<PRE>
public static final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>ACCESS_TYPE_PROPERTY</B></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.openjpa.jdbc.meta.ReverseMappingTool.ACCESS_TYPE_PROPERTY">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="ReverseMappingTool(org.apache.openjpa.jdbc.conf.JDBCConfiguration)"><!-- --></A><H3>
ReverseMappingTool</H3>
<PRE>
public <B>ReverseMappingTool</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/conf/JDBCConfiguration.html" title="interface in org.apache.openjpa.jdbc.conf">JDBCConfiguration</A>&nbsp;conf)</PRE>
<DL>
<DD>Constructor. Supply configuration.
<P>
</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="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>Return the configuration provided on construction.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getLog()"><!-- --></A><H3>
getLog</H3>
<PRE>
public <A HREF="../../../../../org/apache/openjpa/lib/log/Log.html" title="interface in org.apache.openjpa.lib.log">Log</A> <B>getLog</B>()</PRE>
<DL>
<DD>Return the log to write to.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getPackageName()"><!-- --></A><H3>
getPackageName</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPackageName</B>()</PRE>
<DL>
<DD>Return the default package for the generated classes, or null if unset.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setPackageName(java.lang.String)"><!-- --></A><H3>
setPackageName</H3>
<PRE>
public void <B>setPackageName</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;packageName)</PRE>
<DL>
<DD>Set the default package for the generated classes; use null to
 indicate no package.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getDirectory()"><!-- --></A><H3>
getDirectory</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io">File</A> <B>getDirectory</B>()</PRE>
<DL>
<DD>The file to output the generated code to, or null for
 the current directory. If the directory matches the package, it will
 be used. Otherwise, the package structure will be created under
 this directory.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setDirectory(java.io.File)"><!-- --></A><H3>
setDirectory</H3>
<PRE>
public void <B>setDirectory</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io">File</A>&nbsp;dir)</PRE>
<DL>
<DD>The file to output the generated code to, or null for
 the current directory. If the directory matches the package, it will
 be used. Otherwise, the package structure will be created under
 this directory.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getUseSchemaName()"><!-- --></A><H3>
getUseSchemaName</H3>
<PRE>
public boolean <B>getUseSchemaName</B>()</PRE>
<DL>
<DD>Return true if the schema name will be included in the generated
 class name for each table. Defaults to false.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setUseSchemaName(boolean)"><!-- --></A><H3>
setUseSchemaName</H3>
<PRE>
public void <B>setUseSchemaName</B>(boolean&nbsp;useSchema)</PRE>
<DL>
<DD>Set whether the schema name will be included in the generated
 class name for each table. Defaults to false.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getUseForeignKeyName()"><!-- --></A><H3>
getUseForeignKeyName</H3>
<PRE>
public boolean <B>getUseForeignKeyName</B>()</PRE>
<DL>
<DD>Return whether the foreign key name will be used to generate
 relation names. Defaults to false.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setUseForeignKeyName(boolean)"><!-- --></A><H3>
setUseForeignKeyName</H3>
<PRE>
public void <B>setUseForeignKeyName</B>(boolean&nbsp;useFK)</PRE>
<DL>
<DD>Set whether the foreign key name will be used to generate
 relation names. Defaults to false.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getNullableAsObject()"><!-- --></A><H3>
getNullableAsObject</H3>
<PRE>
public boolean <B>getNullableAsObject</B>()</PRE>
<DL>
<DD>Return whether even nullable columns will be mapped to wrappers
 rather than primitives. Defaults to false.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setNullableAsObject(boolean)"><!-- --></A><H3>
setNullableAsObject</H3>
<PRE>
public void <B>setNullableAsObject</B>(boolean&nbsp;nullAsObj)</PRE>
<DL>
<DD>Set whether even nullable columns will be mapped to wrappers
 rather than primitives. Defaults to false.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getBlobAsObject()"><!-- --></A><H3>
getBlobAsObject</H3>
<PRE>
public boolean <B>getBlobAsObject</B>()</PRE>
<DL>
<DD>Whether to reverse-map blob columns as containing serialized Java
 objects, rather than the default of using a byte[] field.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setBlobAsObject(boolean)"><!-- --></A><H3>
setBlobAsObject</H3>
<PRE>
public void <B>setBlobAsObject</B>(boolean&nbsp;blobAsObj)</PRE>
<DL>
<DD>Whether to reverse-map blob columns as containing serialized Java
 objects, rather than the default of using a byte[] field.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getUseGenericCollections()"><!-- --></A><H3>
getUseGenericCollections</H3>
<PRE>
public boolean <B>getUseGenericCollections</B>()</PRE>
<DL>
<DD>Whether to use generic collections on one-to-many and many-to-many
 relations instead of untyped collections.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setUseGenericCollections(boolean)"><!-- --></A><H3>
setUseGenericCollections</H3>
<PRE>
public void <B>setUseGenericCollections</B>(boolean&nbsp;useGenericCollections)</PRE>
<DL>
<DD>Whether to use generic collections on one-to-many and many-to-many
 relations instead of untyped collections.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getTypeMap()"><!-- --></A><H3>
getTypeMap</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html" title="class or interface in java.util">Properties</A> <B>getTypeMap</B>()</PRE>
<DL>
<DD>Map of JDBC-name to Java-type-name entries that allows customization
 of reverse mapping columns to field types.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setTypeMap(java.util.Properties)"><!-- --></A><H3>
setTypeMap</H3>
<PRE>
public void <B>setTypeMap</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html" title="class or interface in java.util">Properties</A>&nbsp;typeMap)</PRE>
<DL>
<DD>Map of JDBC-name to Java-type-name entries that allows customization
 of reverse mapping columns to field types.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getPrimaryKeyOnJoin()"><!-- --></A><H3>
getPrimaryKeyOnJoin</H3>
<PRE>
public boolean <B>getPrimaryKeyOnJoin</B>()</PRE>
<DL>
<DD>Return true if join tables are allowed to have primary keys, false
 if all primary key tables will be mapped as persistent classes.
 Defaults to false.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setPrimaryKeyOnJoin(boolean)"><!-- --></A><H3>
setPrimaryKeyOnJoin</H3>
<PRE>
public void <B>setPrimaryKeyOnJoin</B>(boolean&nbsp;pkOnJoin)</PRE>
<DL>
<DD>Set to true if join tables are allowed to have primary keys, false
 if all primary key tables will be mapped as persistent classes.
 Defaults to false.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getUseDataStoreIdentity()"><!-- --></A><H3>
getUseDataStoreIdentity</H3>
<PRE>
public boolean <B>getUseDataStoreIdentity</B>()</PRE>
<DL>
<DD>Whether to use datastore identity when possible. Defaults to false.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setUseDataStoreIdentity(boolean)"><!-- --></A><H3>
setUseDataStoreIdentity</H3>
<PRE>
public void <B>setUseDataStoreIdentity</B>(boolean&nbsp;datastore)</PRE>
<DL>
<DD>Whether to use datastore identity when possible. Defaults to false.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getUseBuiltinIdentityClass()"><!-- --></A><H3>
getUseBuiltinIdentityClass</H3>
<PRE>
public boolean <B>getUseBuiltinIdentityClass</B>()</PRE>
<DL>
<DD>Whether to use built in identity classes when possible. Defaults to true.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setUseBuiltinIdentityClass(boolean)"><!-- --></A><H3>
setUseBuiltinIdentityClass</H3>
<PRE>
public void <B>setUseBuiltinIdentityClass</B>(boolean&nbsp;builtin)</PRE>
<DL>
<DD>Whether to use built in identity classes when possible. Defaults to true.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getInnerIdentityClasses()"><!-- --></A><H3>
getInnerIdentityClasses</H3>
<PRE>
public boolean <B>getInnerIdentityClasses</B>()</PRE>
<DL>
<DD>Whether or not to generate inner classes when creating application
 identity classes.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setInnerIdentityClasses(boolean)"><!-- --></A><H3>
setInnerIdentityClasses</H3>
<PRE>
public void <B>setInnerIdentityClasses</B>(boolean&nbsp;inner)</PRE>
<DL>
<DD>Whether or not to generate inner classes when creating application
 identity classes.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getIdentityClassSuffix()"><!-- --></A><H3>
getIdentityClassSuffix</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getIdentityClassSuffix</B>()</PRE>
<DL>
<DD>Suffix used to create application identity class name from a class name,
 or in the case of inner identity classes, the inner class name.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setIdentityClassSuffix(java.lang.String)"><!-- --></A><H3>
setIdentityClassSuffix</H3>
<PRE>
public void <B>setIdentityClassSuffix</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;suffix)</PRE>
<DL>
<DD>Suffix used to create application identity class name from a class name,
 or in the case of inner identity classes, the inner class name.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getInverseRelations()"><!-- --></A><H3>
getInverseRelations</H3>
<PRE>
public boolean <B>getInverseRelations</B>()</PRE>
<DL>
<DD>Whether to generate inverse 1-many/1-1 relations for all many-1/1-1
 relations. Defaults to true.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setInverseRelations(boolean)"><!-- --></A><H3>
setInverseRelations</H3>
<PRE>
public void <B>setInverseRelations</B>(boolean&nbsp;inverse)</PRE>
<DL>
<DD>Whether to generate inverse 1-many/1-1 relations for all many-1/1-1
 relations. Defaults to true.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getDetachable()"><!-- --></A><H3>
getDetachable</H3>
<PRE>
public boolean <B>getDetachable</B>()</PRE>
<DL>
<DD>Whether to make generated classes detachable. Defaults to false.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setDetachable(boolean)"><!-- --></A><H3>
setDetachable</H3>
<PRE>
public void <B>setDetachable</B>(boolean&nbsp;detachable)</PRE>
<DL>
<DD>Whether to make generated classes detachable. Defaults to false.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getDiscriminatorStrategy()"><!-- --></A><H3>
getDiscriminatorStrategy</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getDiscriminatorStrategy</B>()</PRE>
<DL>
<DD>Default discriminator strategy for base class mappings.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setDiscriminatorStrategy(java.lang.String)"><!-- --></A><H3>
setDiscriminatorStrategy</H3>
<PRE>
public void <B>setDiscriminatorStrategy</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;discStrat)</PRE>
<DL>
<DD>Default discriminator strategy for base class mappings.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getVersionStrategy()"><!-- --></A><H3>
getVersionStrategy</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getVersionStrategy</B>()</PRE>
<DL>
<DD>Default version strategy for base class mappings.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setVersionStrategy(java.lang.String)"><!-- --></A><H3>
setVersionStrategy</H3>
<PRE>
public void <B>setVersionStrategy</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;versionStrat)</PRE>
<DL>
<DD>Default version strategy for base class mappings.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getGenerateAnnotations()"><!-- --></A><H3>
getGenerateAnnotations</H3>
<PRE>
public boolean <B>getGenerateAnnotations</B>()</PRE>
<DL>
<DD>Whether to generate annotations along with generated code. Defaults
 to false.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setGenerateAnnotations(boolean)"><!-- --></A><H3>
setGenerateAnnotations</H3>
<PRE>
public void <B>setGenerateAnnotations</B>(boolean&nbsp;genAnnotations)</PRE>
<DL>
<DD>Whether to generate annotations along with generated code. Defaults
 to false.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getAccessType()"><!-- --></A><H3>
getAccessType</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getAccessType</B>()</PRE>
<DL>
<DD>Whether to use field or property-based access on generated code.
 Defaults to field-based access.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setAccessType(java.lang.String)"><!-- --></A><H3>
setAccessType</H3>
<PRE>
public void <B>setAccessType</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;accessType)</PRE>
<DL>
<DD>Whether to use field or property-based access on generated code.
 Defaults to field-based access.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getCodeFormat()"><!-- --></A><H3>
getCodeFormat</H3>
<PRE>
public <A HREF="../../../../../org/apache/openjpa/lib/util/CodeFormat.html" title="class in org.apache.openjpa.lib.util">CodeFormat</A> <B>getCodeFormat</B>()</PRE>
<DL>
<DD>The code formatter for the generated Java code.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setCodeFormat(org.apache.openjpa.lib.util.CodeFormat)"><!-- --></A><H3>
setCodeFormat</H3>
<PRE>
public void <B>setCodeFormat</B>(<A HREF="../../../../../org/apache/openjpa/lib/util/CodeFormat.html" title="class in org.apache.openjpa.lib.util">CodeFormat</A>&nbsp;format)</PRE>
<DL>
<DD>Set the code formatter for the generated Java code.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getCustomizer()"><!-- --></A><H3>
getCustomizer</H3>
<PRE>
public <A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseCustomizer.html" title="interface in org.apache.openjpa.jdbc.meta">ReverseCustomizer</A> <B>getCustomizer</B>()</PRE>
<DL>
<DD>Return the customizer in use, or null if none.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setCustomizer(org.apache.openjpa.jdbc.meta.ReverseCustomizer)"><!-- --></A><H3>
setCustomizer</H3>
<PRE>
public void <B>setCustomizer</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseCustomizer.html" title="interface in org.apache.openjpa.jdbc.meta">ReverseCustomizer</A>&nbsp;customizer)</PRE>
<DL>
<DD>Set the customizer. The configuration on the customizer, if any,
 should already be set.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getRepository()"><!-- --></A><H3>
getRepository</H3>
<PRE>
public <A HREF="../../../../../org/apache/openjpa/jdbc/meta/MappingRepository.html" title="class in org.apache.openjpa.jdbc.meta">MappingRepository</A> <B>getRepository</B>()</PRE>
<DL>
<DD>Return the mapping repository used to hold generated mappings. You
 can also use the repository to seed the schema group to generate
 classes from.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setRepository(org.apache.openjpa.jdbc.meta.MappingRepository)"><!-- --></A><H3>
setRepository</H3>
<PRE>
public void <B>setRepository</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/meta/MappingRepository.html" title="class in org.apache.openjpa.jdbc.meta">MappingRepository</A>&nbsp;repos)</PRE>
<DL>
<DD>Set the repository to use.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getSchemaGroup()"><!-- --></A><H3>
getSchemaGroup</H3>
<PRE>
public <A HREF="../../../../../org/apache/openjpa/jdbc/schema/SchemaGroup.html" title="class in org.apache.openjpa.jdbc.schema">SchemaGroup</A> <B>getSchemaGroup</B>()</PRE>
<DL>
<DD>Return the schema group to reverse map. If none has been set, the
 schema will be generated from the database.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setSchemaGroup(org.apache.openjpa.jdbc.schema.SchemaGroup)"><!-- --></A><H3>
setSchemaGroup</H3>
<PRE>
public void <B>setSchemaGroup</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/schema/SchemaGroup.html" title="class in org.apache.openjpa.jdbc.schema">SchemaGroup</A>&nbsp;schema)</PRE>
<DL>
<DD>Set the schema to reverse map.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getMappings()"><!-- --></A><H3>
getMappings</H3>
<PRE>
public <A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>[] <B>getMappings</B>()</PRE>
<DL>
<DD>Return the generated mappings.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="run()"><!-- --></A><H3>
run</H3>
<PRE>
public void <B>run</B>()</PRE>
<DL>
<DD>Generate mappings and class code for the current schema group.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="recordCode()"><!-- --></A><H3>
recordCode</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>recordCode</B>()
                throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
<DL>
<DD>Uses <A HREF="../../../../../org/apache/openjpa/enhance/CodeGenerator.html" title="class in org.apache.openjpa.enhance"><CODE>CodeGenerator</CODE></A>s to write the Java code for the generated
 mappings to the proper packages.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>a list of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A> instances that were written
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="recordCode(java.util.Map)"><!-- --></A><H3>
recordCode</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>recordCode</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A>&nbsp;output)
                throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
<DL>
<DD>Write the code for the tool.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>output</CODE> - if null, then perform the write directly
 to the filesystem; otherwise, populate the
 specified map with keys as the generated
 <A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta"><CODE>ClassMapping</CODE></A> and values as a
 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang"><CODE>String</CODE></A> that contains the generated code
<DT><B>Returns:</B><DD>a list of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A> instances that were written
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="recordMetaData(boolean)"><!-- --></A><H3>
recordMetaData</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A> <B>recordMetaData</B>(boolean&nbsp;perClass)
                          throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
<DL>
<DD>Write the generated metadata to the proper packages.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the set of metadata <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>s that were written
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="recordMetaData(boolean, java.util.Map)"><!-- --></A><H3>
recordMetaData</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A> <B>recordMetaData</B>(boolean&nbsp;perClass,
                                 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A>&nbsp;output)
                          throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
<DL>
<DD>Write the code for the tool.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>output</CODE> - if null, then perform the write directly
 to the filesystem; otherwise, populate the
 specified map with keys as the generated
 <A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta"><CODE>ClassMapping</CODE></A> and values as a
 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang"><CODE>String</CODE></A> that contains the generated code
<DT><B>Returns:</B><DD>the set of metadata <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>s that were written
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="buildAnnotations()"><!-- --></A><H3>
buildAnnotations</H3>
<PRE>
public void <B>buildAnnotations</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getAnnotationsForMeta(java.lang.Object)"><!-- --></A><H3>
getAnnotationsForMeta</H3>
<PRE>
protected <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>getAnnotationsForMeta</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;meta)</PRE>
<DL>
<DD>Returns a list of stringified annotations for specified meta.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getClassMapping(org.apache.openjpa.jdbc.schema.Table)"><!-- --></A><H3>
getClassMapping</H3>
<PRE>
public <A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A> <B>getClassMapping</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>Return the class mapping for the given table, or null if none.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="newClassMapping(java.lang.Class, org.apache.openjpa.jdbc.schema.Table)"><!-- --></A><H3>
newClassMapping</H3>
<PRE>
public <A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A> <B>newClassMapping</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&nbsp;cls,
                                    <A HREF="../../../../../org/apache/openjpa/jdbc/schema/Table.html" title="class in org.apache.openjpa.jdbc.schema">Table</A>&nbsp;table)</PRE>
<DL>
<DD>Create a new class to be mapped to a table. The class will start out
 with a default application identity class set.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="generateClass(java.lang.String, java.lang.Class)"><!-- --></A><H3>
generateClass</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A> <B>generateClass</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
                           <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&nbsp;parent)</PRE>
<DL>
<DD>Generate a new class with the given name. If a non-null parent class
 is given, it will be set as the superclass.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isUnique(org.apache.openjpa.jdbc.schema.ForeignKey)"><!-- --></A><H3>
isUnique</H3>
<PRE>
public boolean <B>isUnique</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/schema/ForeignKey.html" title="class in org.apache.openjpa.jdbc.schema">ForeignKey</A>&nbsp;fk)</PRE>
<DL>
<DD>Return whether the given foreign key is unique.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getUniqueForeignKey(org.apache.openjpa.jdbc.schema.Table)"><!-- --></A><H3>
getUniqueForeignKey</H3>
<PRE>
public <A HREF="../../../../../org/apache/openjpa/jdbc/schema/ForeignKey.html" title="class in org.apache.openjpa.jdbc.schema">ForeignKey</A> <B>getUniqueForeignKey</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>If the given table has a single unique foreign key or a foreign
 key that matches the primary key, return it. Else return null.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="addJoinConstraints(org.apache.openjpa.jdbc.meta.FieldMapping)"><!-- --></A><H3>
addJoinConstraints</H3>
<PRE>
public void <B>addJoinConstraints</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/meta/FieldMapping.html" title="class in org.apache.openjpa.jdbc.meta">FieldMapping</A>&nbsp;field)</PRE>
<DL>
<DD>Add existing unique constraints and indexes to the given field's join.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="addConstraints(org.apache.openjpa.jdbc.meta.ValueMapping)"><!-- --></A><H3>
addConstraints</H3>
<PRE>
public void <B>addConstraints</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/meta/ValueMapping.html" title="interface in org.apache.openjpa.jdbc.meta">ValueMapping</A>&nbsp;vm)</PRE>
<DL>
<DD>Add existing unique constraints and indexes to the given value.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isBaseTable(org.apache.openjpa.jdbc.schema.Table)"><!-- --></A><H3>
isBaseTable</H3>
<PRE>
public boolean <B>isBaseTable</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>Return whether the given table is a base class table.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="newFieldMapping(java.lang.String, java.lang.Class, org.apache.openjpa.jdbc.schema.Column, org.apache.openjpa.jdbc.schema.ForeignKey, org.apache.openjpa.jdbc.meta.ClassMapping)"><!-- --></A><H3>
newFieldMapping</H3>
<PRE>
public <A HREF="../../../../../org/apache/openjpa/jdbc/meta/FieldMapping.html" title="class in org.apache.openjpa.jdbc.meta">FieldMapping</A> <B>newFieldMapping</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
                                    <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A>&nbsp;type,
                                    <A HREF="../../../../../org/apache/openjpa/jdbc/schema/Column.html" title="class in org.apache.openjpa.jdbc.schema">Column</A>&nbsp;col,
                                    <A HREF="../../../../../org/apache/openjpa/jdbc/schema/ForeignKey.html" title="class in org.apache.openjpa.jdbc.schema">ForeignKey</A>&nbsp;fk,
                                    <A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>&nbsp;dec)</PRE>
<DL>
<DD>Create a field mapping for the given info, or return null if
 customizer rejects.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getFieldName(java.lang.String, org.apache.openjpa.jdbc.meta.ClassMapping)"><!-- --></A><H3>
getFieldName</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getFieldName</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;name,
                           <A HREF="../../../../../org/apache/openjpa/jdbc/meta/ClassMapping.html" title="class in org.apache.openjpa.jdbc.meta">ClassMapping</A>&nbsp;dec)</PRE>
<DL>
<DD>Return a default Java identifier-formatted name for the given
 column/table name.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getFieldType(org.apache.openjpa.jdbc.schema.Column, boolean)"><!-- --></A><H3>
getFieldType</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A> <B>getFieldType</B>(<A HREF="../../../../../org/apache/openjpa/jdbc/schema/Column.html" title="class in org.apache.openjpa.jdbc.schema">Column</A>&nbsp;col,
                          boolean&nbsp;forceObject)</PRE>
<DL>
<DD>Return the default field type for the given column.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="clone()"><!-- --></A><H3>
clone</H3>
<PRE>
public <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>clone</B>()</PRE>
<DL>
<DD>Return a new tool with the same settings as this one. Used in workbench.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><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></CODE> in class <CODE><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></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="main(java.lang.String[])"><!-- --></A><H3>
main</H3>
<PRE>
public static void <B>main</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>[]&nbsp;args)
                 throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
                        <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>Usage: java org.apache.openjpa.jdbc.meta.ReverseMappingTool
 [option]* &lt;.schema file or resource&gt;*
  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    data as outlined in
 <A HREF="../../../../../org/apache/openjpa/conf/OpenJPAConfiguration.html" title="interface in org.apache.openjpa.conf"><CODE>OpenJPAConfiguration</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>
 <li><i>-schemas/-s &lt;schemas and tables&gt;</i>: Comma-separated
 list of schemas and tables to reverse-map.</li>
 <li><i>-package/-pkg &lt;package name&gt;</i>: The name of the package
 for all generated classes. Defaults to no package.</li>
 <li><i>-directory/-d &lt;output directory&gt;</i>: The directory where
 all generated code should be placed. Defaults to the current
 directory.</li>
 <li><i>-useSchemaName/-sn &lt;true/t | false/f&gt;</i>: Set this flag to
 true to include the schema name as part of the generated class name
 for each table.</li>
 <li><i>-useForeignKeyName/-fkn &lt;true/t | false/f&gt;</i>: Set this
 flag to true to use the foreign key name to generate fields
 representing relations between classes.</li>
 <li><i>-nullableAsObject/-no &lt;true/t | false/f&gt;</i>: Set to true
 to make all nullable columns map to object types; columns that would
 normally map to a primitive will map to the appropriate wrapper
 type instead.</li>
 <li><i>-blobAsObject/-bo &lt;true/t | false/f&gt;</i>: Set to true
 to make all binary columns map to Object rather than byte[].</li>
 <li><i>-useGenericCollections/-gc &lt;true/t | false/f&gt;</i>: Set to
 true to use generic collections on OneToMany and ManyToMany relations
 (requires JDK 1.5 or higher).</li>
 <li><i>-typeMap/-typ &lt;types&gt;</i>: Default mapping of SQL type
 names to Java classes.</li>
 <li><i>-primaryKeyOnJoin/-pkj &lt;true/t | false/f&gt;</i>: Set to true
 to allow primary keys on join tables.</li>
 <li><i>-useDatastoreIdentity/-ds &lt;true/t | false/f&gt;</i>: Set to
 true to use datastore identity where possible.</li>
 <li><i>-useBuiltinIdentityClass/-bic &lt;true/t | false/f&gt;</i>: Set
 to false to never use OpenJPA's builtin application identity
 classes.</li>
 <li><i>-innerIdentityClasses/-inn &lt;true/t | false/f&gt;</i>: Set to
 true to generate the application identity classes as inner classes.</li>
 <li><i>-identityClassSuffix/-is &lt;suffix&gt;</i>: Suffix to append
 to class names to create identity class name, or for inner identity
 classes, the inner class name.</li>
 <li><i>-inverseRelations/-ir &lt;true/t | false/f&gt;</i>: Set to
 false to prevent the creation of inverse 1-many/1-1 relations for
 each encountered many-1/1-1 relation.</li>
 <li><i>-detachable/-det &lt;true/t | false/f&gt;</i>: Set to
 true to make generated classes detachable.</li>
 <li><i>-discriminatorStrategy/-ds &lt;strategy&gt;</i>: The default
 discriminator strategy to place on base classes.</li>
 <li><i>-versionStrategy/-vs &lt;strategy&gt;</i>: The default
 version strategy to place on base classes.</li>
 <li><i>-metadata/-md &lt;class | package | none&gt;</i>: Specify the
 level the metadata should be generated at. Defaults to generating a
 single package-level metadata file.</li>
 <li><i>-annotations/-ann &lt;true/t | false/f&gt;</i>: Set to true to
 generate JPA annotations in generated code.</li>
 <li><i>-accessType/-access &lt;field | property&gt;</i>: Change access
 type for generated annotations. Defaults to field access.</li>
 <li><i>-customizerClass/-cc &lt;class name&gt;</i>: The full class
 name of a <A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseCustomizer.html" title="interface in org.apache.openjpa.jdbc.meta"><CODE>ReverseCustomizer</CODE></A> implementation to use to
 customize the reverse mapping process. Optional.</li>
 <li><i>-customizerProperties/-cp &lt;properties file or resource&gt;</i>
 : The path or resource name of a properties file that will be
 passed to the reverse customizer on initialization. Optional.</li>
 <li><i>-customizer/-c.&lt;property name&gt; &lt; property value&gt;</i>
 : Arguments like this will be used to configure the bean
 properties of the <A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseCustomizer.html" title="interface in org.apache.openjpa.jdbc.meta"><CODE>ReverseCustomizer</CODE></A>.</li>
 <li><i>-codeFormat/-cf.&lt;property name&gt; &lt; property value&gt;</i>
 : Arguments like this will be used to configure the bean
 properties of the internal <A HREF="../../../../../org/apache/openjpa/lib/util/CodeFormat.html" title="class in org.apache.openjpa.lib.util"><CODE>CodeFormat</CODE></A>.</li>
 </ul>
  Each schema given as an argument will be reverse-mapped into
 persistent classes and associated metadata. If no arguments are given,
 the database schemas defined by the system configuration will be
 reverse-mapped.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE>
<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="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://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" 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://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
                          <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>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://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE>
<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/ReverseMappingTool.html#main(java.lang.String[])"><CODE>main(java.lang.String[])</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="run(org.apache.openjpa.jdbc.conf.JDBCConfiguration, java.lang.String[], org.apache.openjpa.jdbc.meta.ReverseMappingTool.Flags, java.lang.ClassLoader)"><!-- --></A><H3>
run</H3>
<PRE>
public static void <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://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>[]&nbsp;args,
                       <A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.Flags.html" title="class in org.apache.openjpa.jdbc.meta">ReverseMappingTool.Flags</A>&nbsp;flags,
                       <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/ClassLoader.html" title="class or interface in java.lang">ClassLoader</A>&nbsp;loader)
                throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
                       <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>Run the tool.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE>
<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>
<!-- ========= 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;<A HREF="#main"><FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ReverseMappingTool.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/ReverseCustomizer.html" title="interface in org.apache.openjpa.jdbc.meta"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/openjpa/jdbc/meta/ReverseMappingTool.Flags.html" title="class in org.apache.openjpa.jdbc.meta"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?org/apache/openjpa/jdbc/meta/ReverseMappingTool.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="ReverseMappingTool.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 &copy; 2006-2007 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>
