You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ibatis.apache.org by jg...@apache.org on 2008/12/16 17:35:51 UTC

svn commit: r727079 - in /ibatis/trunk/java/tools/ibator/core: build/ doc/ htmldoc/ htmldoc/configreference/ htmldoc/generatedobjects/ htmldoc/reference/ src/org/apache/ibatis/ibator/api/ src/org/apache/ibatis/ibator/generator/ibatis2/model/ src/org/ap...

Author: jgbutler
Date: Tue Dec 16 08:35:50 2008
New Revision: 727079

URL: http://svn.apache.org/viewvc?rev=727079&view=rev
Log:
[ibator] lots of documentation updates, and fix for the classloader

Modified:
    ibatis/trunk/java/tools/ibator/core/build/version.properties
    ibatis/trunk/java/tools/ibator/core/doc/ReleaseNotes.txt
    ibatis/trunk/java/tools/ibator/core/htmldoc/configreference/columnOverride.html
    ibatis/trunk/java/tools/ibator/core/htmldoc/configreference/commentGenerator.html
    ibatis/trunk/java/tools/ibator/core/htmldoc/configreference/daoGenerator.html
    ibatis/trunk/java/tools/ibator/core/htmldoc/configreference/ibatorContext.html
    ibatis/trunk/java/tools/ibator/core/htmldoc/configreference/table.html
    ibatis/trunk/java/tools/ibator/core/htmldoc/configreference/xmlconfig.html
    ibatis/trunk/java/tools/ibator/core/htmldoc/generatedobjects/exampleClassUsage.html
    ibatis/trunk/java/tools/ibator/core/htmldoc/generatedobjects/extendingExampleClass.html
    ibatis/trunk/java/tools/ibator/core/htmldoc/generatedobjects/javadao.html
    ibatis/trunk/java/tools/ibator/core/htmldoc/generatedobjects/javamodel.html
    ibatis/trunk/java/tools/ibator/core/htmldoc/generatedobjects/results.html
    ibatis/trunk/java/tools/ibator/core/htmldoc/generatedobjects/sqlmap.html
    ibatis/trunk/java/tools/ibator/core/htmldoc/migratingFromAbator.html
    ibatis/trunk/java/tools/ibator/core/htmldoc/reference/building.html
    ibatis/trunk/java/tools/ibator/core/htmldoc/running.html
    ibatis/trunk/java/tools/ibator/core/htmldoc/whatsNew.html
    ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IbatorPlugin.java
    ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IbatorPluginAdapter.java
    ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IntrospectedTable.java
    ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/model/BaseRecordGenerator.java
    ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/model/PrimaryKeyGenerator.java
    ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/model/RecordWithBLOBsGenerator.java
    ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/IbatorObjectFactory.java
    ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/IbatorPluginAggregator.java
    ibatis/trunk/java/tools/ibator/core/test/README.txt

Modified: ibatis/trunk/java/tools/ibator/core/build/version.properties
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/build/version.properties?rev=727079&r1=727078&r2=727079&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/build/version.properties (original)
+++ ibatis/trunk/java/tools/ibator/core/build/version.properties Tue Dec 16 08:35:50 2008
@@ -1,4 +1,4 @@
 #ibator build version info
-#Thu Dec 11 14:08:45 CST 2008
-version=1.2.0
-buildNum=665
+#Tue Dec 16 09:32:54 CST 2008
+version=1.2.1
+buildNum=667

Modified: ibatis/trunk/java/tools/ibator/core/doc/ReleaseNotes.txt
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/doc/ReleaseNotes.txt?rev=727079&r1=727078&r2=727079&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/doc/ReleaseNotes.txt (original)
+++ ibatis/trunk/java/tools/ibator/core/doc/ReleaseNotes.txt Tue Dec 16 08:35:50 2008
@@ -1,4 +1,16 @@
 -------------------------------------------------------------------------------
+Version 1.2.1:
+
+Bugs:
+1. Fixed IbatorObjectFactory so that it will find internal classes on the
+   context classloader.
+
+Enhancements:
+1. Modified plugin methods for model fields, getters, and setters so that
+   the plugin will know which type of class (Primary Key, Base Record, or
+   Record with BLOBs) is being generated. 
+
+-------------------------------------------------------------------------------
 Version 1.2.0:  Renamed to Ibator
 
 Bugs:

Modified: ibatis/trunk/java/tools/ibator/core/htmldoc/configreference/columnOverride.html
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/htmldoc/configreference/columnOverride.html?rev=727079&r1=727078&r2=727079&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/htmldoc/configreference/columnOverride.html (original)
+++ ibatis/trunk/java/tools/ibator/core/htmldoc/configreference/columnOverride.html Tue Dec 16 08:35:50 2008
@@ -42,8 +42,8 @@
     <td valign="top">property</td>
     <td>The name of a Java property to be used.  If not specified,
         Ibator will generate properties based on the column name.
-        For example, if a table has a column named STRT_DTE, Ibator
-        will generate the property name as either STRT_DTE or strtDte
+        For example, if a table has a column named "STRT_DTE" then Ibator
+        will generate the property name as either "STRT_DTE" or "strtDte"
         based on the value of the "useActualColumnNames" property (see the
         description of the <a href="table.html">&lt;table&gt;</a> element for more information).
         This property could be used to rename the column "startDate"</td>
@@ -81,7 +81,7 @@
     <td valign="top">delimitedColumnName</td>
     <td>Specifies whether the column name should be delimited in the generated SQL.
         Ibator will automatically delimit the column name if the name contains a space,
-        so this override is only necessary when the column name is forces to a certain
+        so this override is only necessary when the column name must be forced to a certain
         case, or when the column name is a reserved word in the database.
         <p>When "true", the <code>column</code> attribute for the override
         must exactly match the case of the column name returned from the database.</p>

Modified: ibatis/trunk/java/tools/ibator/core/htmldoc/configreference/commentGenerator.html
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/htmldoc/configreference/commentGenerator.html?rev=727079&r1=727078&r2=727079&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/htmldoc/configreference/commentGenerator.html (original)
+++ ibatis/trunk/java/tools/ibator/core/htmldoc/configreference/commentGenerator.html Tue Dec 16 08:35:50 2008
@@ -42,7 +42,7 @@
   <tr>
     <td valign="top">type</td>
     <td>This may be used to specify the type of the user provided Comment Generator.
-        The class must implement the interface org.apache.ibatis.ibator.api.CommentGenerator,
+        The class must implement the interface <code>org.apache.ibatis.ibator.api.CommentGenerator</code>
         and must have a public default constructor.  The attribute also accepts
         the special value DEFAULT in which case the default implementation will
         be used (this has the same effect as not specifying the type).</td>

Modified: ibatis/trunk/java/tools/ibator/core/htmldoc/configreference/daoGenerator.html
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/htmldoc/configreference/daoGenerator.html?rev=727079&r1=727078&r2=727079&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/htmldoc/configreference/daoGenerator.html (original)
+++ ibatis/trunk/java/tools/ibator/core/htmldoc/configreference/daoGenerator.html Tue Dec 16 08:35:50 2008
@@ -74,7 +74,7 @@
         Ibator will create folders as required for the generated
         packages.
         <p><b>Note:</b> the package for DAO implementation classes may
-        be overridden by specifying the optional <code>implamentationPackage</code>
+        be overridden by specifying the optional <code>implementationPackage</code>
         attribute as shown below.</p></td>
   </tr>
   <tr>

Modified: ibatis/trunk/java/tools/ibator/core/htmldoc/configreference/ibatorContext.html
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/htmldoc/configreference/ibatorContext.html?rev=727079&r1=727078&r2=727079&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/htmldoc/configreference/ibatorContext.html (original)
+++ ibatis/trunk/java/tools/ibator/core/htmldoc/configreference/ibatorContext.html Tue Dec 16 08:35:50 2008
@@ -151,11 +151,11 @@
     <td valign="top">suppressTypeWarnings</td>
     <td>If true, then Ibator will add an annotation to any method
       that uses a non-parameterized type to suppress compiler type warnings.
-      This is useful if you are using the Java2 targetJRE, but are
+      This is useful if you are using the Ibatis2Java2 targetRuntime, but are
       compiling the generated objects with a JSE 5.0 compiler.  In that situation,
       the Ibator generated code would generate many compiler warnings if the
       annotation is not allowed.  This property is not needed and will have
-      no effect when using the Java5 targetJRE.</p>
+      no effect when using the Ibatis2Java5 targetRuntime.</p>
       <p><i>The default value is false.</i></p></td>
   </tr>
   <tr>

Modified: ibatis/trunk/java/tools/ibator/core/htmldoc/configreference/table.html
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/htmldoc/configreference/table.html?rev=727079&r1=727078&r2=727079&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/htmldoc/configreference/table.html (original)
+++ ibatis/trunk/java/tools/ibator/core/htmldoc/configreference/table.html Tue Dec 16 08:35:50 2008
@@ -32,9 +32,7 @@
           This class will extend one of the two previous classes depending on the
           configuration of the table.</li>
       <li>A class that is used to generate dynamic where clauses in the
-          different "by example" methods (selectByExample, deleteByExample).
-          This class may, or may not, extend one of the other model classes
-          depending on the current generator set and the structure of the table.</li>
+          different "by example" methods (selectByExample, deleteByExample).</li>
     </ul>
   </li>
   <li>(Optionally) A DAO interface and class</li>

Modified: ibatis/trunk/java/tools/ibator/core/htmldoc/configreference/xmlconfig.html
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/htmldoc/configreference/xmlconfig.html?rev=727079&r1=727078&r2=727079&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/htmldoc/configreference/xmlconfig.html (original)
+++ ibatis/trunk/java/tools/ibator/core/htmldoc/configreference/xmlconfig.html Tue Dec 16 08:35:50 2008
@@ -109,7 +109,7 @@
       that conform to the Spring framework.
   </li>
   <li>The file specifies only one table will be introspected, but many more could be specified.
-      Important note about that table are as follows:
+      Important notes about the specified table include:
     <ul>
       <li>The generated objects will be based on the name Customer (<code>CustomerKey</code>,
           <code>Customer</code>,

Modified: ibatis/trunk/java/tools/ibator/core/htmldoc/generatedobjects/exampleClassUsage.html
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/htmldoc/generatedobjects/exampleClassUsage.html?rev=727079&r1=727078&r2=727079&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/htmldoc/generatedobjects/exampleClassUsage.html (original)
+++ ibatis/trunk/java/tools/ibator/core/htmldoc/generatedobjects/exampleClassUsage.html Tue Dec 16 08:35:50 2008
@@ -17,21 +17,21 @@
 
 <h1>Example Class Usage Notes</h1>
 <p>The example class specifies how to build a dynamic where clause.  Each non-BLOB column in the
-can optionally be included in the where clause.  Examples are the best way
+table can optionally be included in the where clause.  Examples are the best way
 to demonstrate the usage of this class.</p>
 <p>The example class can be used to generate a virtually
 unlimited where clauses.</p>
 <p>The example classes contain
 an inner static class called <code>Criteria</code>
-that holds a list of conditions that will be <b>anded</b> together in the where clause.  The
+that holds a list of conditions that will be <code>anded</code> together in the where clause.  The
 outer class holds a list of <code>Criteria</code> objects and all the clauses
-from the inner classes will be <b>ored</b> together.  Using different sets of
+from the inner classes will be <code>ored</code> together.  Using different sets of
 <code>Criteria</code> classes allows you to generate virtually unlimited
 types of where clauses.</p>
 <p><code>Criteria</code> objects must be created with the <code>createCriteria</code> method
 in the example class.  When the first <code>Criteria</code> object is created it is automatically
 added to the list of <code>Criteria</code> objects - this makes it easy to write
-a simple where clause if you don't need to or several other clauses together.</p>
+a simple where clause if you don't need to <code>or</code> several other clauses together.</p>
 
 <p>This example shows how to generate a simple WHERE clause using the generated
 example class:</p>
@@ -82,7 +82,7 @@
 </pre>
 <p>Returned records will meet these criteria.</p>
 <p>The <code>Criteria</code> inner class includes <code>andXXX</code> methods for each field,
-and each possible SQL predicate including:</p>
+and each standard SQL predicate including:</p>
 <ul>
   <li>IS NULL - meaning the related column must be NULL</li>
   <li>IS NOT NULL - meaning the related column must not be NULL</li>

Modified: ibatis/trunk/java/tools/ibator/core/htmldoc/generatedobjects/extendingExampleClass.html
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/htmldoc/generatedobjects/extendingExampleClass.html?rev=727079&r1=727078&r2=727079&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/htmldoc/generatedobjects/extendingExampleClass.html (original)
+++ ibatis/trunk/java/tools/ibator/core/htmldoc/generatedobjects/extendingExampleClass.html Tue Dec 16 08:35:50 2008
@@ -25,9 +25,7 @@
 <h2>General Principles</h2>
 <p>Ibator generates an "example" class for each table, unless instructed otherwise
 in the configuration.  The "example" class is used to generate a dynamic where
-clause for use in the
-<code>selectByExample</code>, <code>deleteByExample</code>,
-<code>updateByExample</code>, and <code>countByExample</code> statements.
+clause for use in the <code>xxxByExample</code> statements.
 The standard "example" class includes functionality for all standard SQL predicates.
 In some cases, it may be desirable to add additional predicates for the
 specific needs of your application.  This may include adding support for non-standard
@@ -123,7 +121,7 @@
 the problems of formatting different datatypes properly (most notably
 dates, times, and timestamps).  Also, there is a chance of SQL
 injection issues with this method if you expose a too generic method.
-If at all possible, we suggest using one of the other methods listed below.</p>
+If possible, we suggest using one of the other methods listed below.</p>
 
 <h3>2. Single Parameter Predicates</h3>
 <p>This type of predicate is used when there is a single property

Modified: ibatis/trunk/java/tools/ibator/core/htmldoc/generatedobjects/javadao.html
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/htmldoc/generatedobjects/javadao.html?rev=727079&r1=727078&r2=727079&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/htmldoc/generatedobjects/javadao.html (original)
+++ ibatis/trunk/java/tools/ibator/core/htmldoc/generatedobjects/javadao.html Tue Dec 16 08:35:50 2008
@@ -48,6 +48,7 @@
   <li>deleteByPrimaryKey</li>
   <li>deleteByExample</li>
   <li>insert</li>
+  <li>insertSelective</li>
   <li>selectByPrimaryKey</li>
   <li>selectByExample</li>
   <li>selectByExampleWithBLOBs</li>
@@ -64,14 +65,15 @@
 page for an example of using the <code>selectByExample</code> method.</p>
 
 <h2>IBATIS DAOs</h2>
-<p>iBATIS DAOs depend on the iBATIS DAO framework (an optional part of iBATIS).
+<p>iBATIS DAOs depend on the iBATIS DAO framework (an optional part of iBATIS - now deprecated).
 They extend the SqlMapDaoTemplate class and are
 constructed with an instance of the DAOManager object, and call methods in their super class
 to execute the different statements.</p>
 <p>Ibator does not update the "dao.xml" file for you - you must add the appropriate entries
 manually.</p>
-<p>The iBATIS DAO framework is a very elementary IoC container and is useful if you
-are not already using something like Spring or PicoContainer to manage dependencies.</p>
+<p>The iBATIS DAO framework is a very elementary IoC container and can be useful if you
+are not already using something like Spring or PicoContainer to manage dependencies.
+However, the framework is now deprecated and we suggest that you move to Spring.</p>
 
 <h2>SPRING DAOs</h2>
 <p>SPRING DAOs depend on the Spring framework.  They extend Spring's SqlMapClientDaoSupport class,

Modified: ibatis/trunk/java/tools/ibator/core/htmldoc/generatedobjects/javamodel.html
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/htmldoc/generatedobjects/javamodel.html?rev=727079&r1=727078&r2=727079&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/htmldoc/generatedobjects/javamodel.html (original)
+++ ibatis/trunk/java/tools/ibator/core/htmldoc/generatedobjects/javamodel.html Tue Dec 16 08:35:50 2008
@@ -23,9 +23,9 @@
 the characteristics of the table and configuration options.</p>
 
 <p>Every field and method generated by Ibator includes the non-standard JavaDoc tag
-<code>@ibatorgenerated</code>.  When run as an Eclipse plugin,
-on subsequent runs of Ibator every field and method that
-includes this JavaDoc tag will be deleted and replaced.  Any other field or method in the
+<code>@ibatorgenerated</code>.  When run from the Eclipse plugin,
+on subsequent runs of Ibator every Java element that
+includes this JavaDoc tag will be deleted and replaced.  Any other Java element in the
 class will be untouched by Ibator.
 With this in mind, you can add other fields and methods to the classes without fear of losing them in
 subsequent runs of Ibator - simply DO NOT include the <code>@ibatorgenerated</code>
@@ -66,7 +66,7 @@
 
 <h2>Record Class</h2>
 <p>This class will contain properties for each non-BLOB and non-primary key column in the table.
-The class will extend the primary key class, if there is a primary key.
+The class will extend the primary key class if there is one.
 The property names will be generated automatically by Ibator, and based on the column name
 in the table.  The Ibator generated property names can be overridden with a
 <code>&lt;columnOverride&gt;</code> configuration element.</p>
@@ -83,8 +83,8 @@
 
 <h2>Record With BLOBs Class</h2>
 <p>This class will contain properties for each BLOB column in the table.
-The class will extend the record class, if there are other non-BLOB and non-Primary Key
-columns in the table, else it will extend the primary key (note that Ibator does not support
+The class will extend the record class, if there is one,
+or it will extend the primary key class (note that Ibator does not support
 tables that only contain BLOB columns).
 The property names will be generated automatically by Ibator, and based on the column name
 in the table.  The Ibator generated property names can be overridden with a
@@ -113,20 +113,15 @@
   <li><code>updateByExample</code></li>
 </ul>
 
-<p>This class may or may not extend one of the other generated domain classes based on the
-table configuration, and the value of the <code>generatorSet</code>
-attribute of the <a href="../configreference/ibatorContext.html">&lt;ibatorContext&gt;</a>
-configuration element.</p>
+<p>This class does not extend any of the other model classes.</p>
 
 <p>The name of the class will be <code>&laquo;TableName&raquo;Example</code> by default, or
 <code>&laquo;domainObjectName&raquo;Example</code> if the <code>domainObjectName</code>
 attribute is specified on the <code>&lt;table&gt;</code> configuration element.</p>
 
 <p>This class will be generated if any of the <code>*ByExample</code>
-methods are enabled.  Note that the configuration elements produced by these options can grow quite large.
-With the "Java2" or "Java5" generator sets
-the example class itself can grow quite large, but the DAO methods are small as is the generated XML
-fragment.
+methods are enabled.  Note that this class can grow quite large if there are many fields in a table,
+but the DAO methods are small as is the generated XML fragment.
 If you do not plan to use the dynamic WHERE clause features of Ibator, you may prefer to
 disable the generation of these methods.</p>
 

Modified: ibatis/trunk/java/tools/ibator/core/htmldoc/generatedobjects/results.html
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/htmldoc/generatedobjects/results.html?rev=727079&r1=727078&r2=727079&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/htmldoc/generatedobjects/results.html (original)
+++ ibatis/trunk/java/tools/ibator/core/htmldoc/generatedobjects/results.html Tue Dec 16 08:35:50 2008
@@ -16,15 +16,20 @@
 </div>
 
 <h1>Using the Ibator Generated Objects</h1>
-<p>Ibator generates three types of objects:</p>
+<p>Ibator generates these types of objects:</p>
 <ol>
   <li><a href="javamodel.html">Java Model Classes</a></li>
   <li><a href="sqlmap.html">SQL Map Files</a></li>
   <li><a href="javadao.html">Java DAO Classes (optional)</a></li>
+  <li>A class for use in the xxxByExample methods.  See the following pages for
+      information about that class:
+    <ul>
+      <li><a href="exampleClassUsage.html">Example Class Usage Notes</a></li>
+      <li><a href="extendingExampleClass.html">Extending the Example Classes</a></li>
+    </ul>
+  </li>
 </ol>
 
-<p>The individual pages describe these objects, and their usage.  Also see the
-<a href="exampleClassUsage.html">Example Class Usage</a> page
-for information on using the example classes.</p>
+<p>The individual pages describe these objects, and their usage.</p>
 </body>
 </html>

Modified: ibatis/trunk/java/tools/ibator/core/htmldoc/generatedobjects/sqlmap.html
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/htmldoc/generatedobjects/sqlmap.html?rev=727079&r1=727078&r2=727079&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/htmldoc/generatedobjects/sqlmap.html (original)
+++ ibatis/trunk/java/tools/ibator/core/htmldoc/generatedobjects/sqlmap.html Tue Dec 16 08:35:50 2008
@@ -20,7 +20,8 @@
 elements based on the characteristics of the table, and on the configuration options you specify.
 Ibator generates a different SQL Map file for every table you specify.  The name space of the
 SQL Map is the name of the table (qualified by schema and catalog if present).  Ibator does not
-add the SQL Map entries to the iBATIS SQLMapConfig file - you must do that manually.</p>
+add the SQL Map entries to the iBATIS SQLMapConfig file - you must do that manually (or you may use
+a plugin to cause Ibator to generate a skeleton SQLMapConfig file if you wish).</p>
 
 <p>Every element generated by Ibator has an id that is prefixed with the string <code>"ibatorgenerated_"
 </code>.  On subsequent runs of Ibator, every element with an id whose prefix is
@@ -45,7 +46,11 @@
 for the specific column.  If the override does not exist, then a default property name and JDBC type
 will be used.</p>
 <p>It is acceptable to extend this result map if you code any
-custom join queries in the SQL map.  This is a common use case and is expected.</p>
+custom join queries in the SQL map.  This is a common use case and is expected.
+If you plan to reuse this result map with other join queries, you may wish to have
+Ibator generate a prefix for the fields in the result map.  See the
+<a href="../configreference/table.html">&lt;table&gt;</a> reference page for information about generating
+a prefix.</p>
 <p>This element will be generated if either the select by example, or select by primary key statements
 are enabled.</p>
 
@@ -62,15 +67,19 @@
 for the specific column.  If the override does not exist, then a default property name and JDBC type
 will be used.</p>
 <p>It is acceptable to extend this result map if you code any
-custom join queries in the SQL map.  This is a common use case and is expected.</p>
+custom join queries in the SQL map.  This is a common use case and is expected.
+If you plan to reuse this result map with other join queries, you may wish to have
+Ibator generate a prefix for the fields in the result map.  See the
+<a href="../configreference/table.html">&lt;table&gt;</a> reference page for information about generating
+a prefix.</p>
 <p>This element will be generated if that table contains BLOB fields, and either the select by example,
 or select by primary key statements are enabled.</p>
 
 <h2>SQL Where Clause</h2>
-<p>This element contains a reusable where clause that conforms to the "by example" methods. The
+<p>This element contains a reusable where clause that is used by the "by example" methods. The
 where clause will not include any BLOB fields if they exist in the table.  Most databases do not
 support BLOB fields in the WHERE clause.</p>
-<p>This element will be generated if either the select by example, or delete by example statements
+<p>This element will be generated if any of the "by example" statements
 are enabled.</p>
 
 <h2>Select By Primary Key</h2>
@@ -107,6 +116,20 @@
 generated key.</p>
 <p>This element will be generated if the insert statement is enabled.</p>
 
+<h2>Insert Selective</h2>
+<p>This element is an insert statement that includes all fields in the table (including BLOBs),
+unless the field is specifically ignored with the <code>&lt;ignoreColumn&gt;</code> configuration
+element.  However, this statement will not include fields that are <code>null</code> in the
+parameter object.  This allows you to use database defaults for columns, if they exist.
+This element will not allow the insert of <code>null</code> into any field - for that
+you must use the regular insert statement.  <b>Important:</b> any field mapped to a Java primitive
+is always inserted by this method.</p>
+<p>If the table has an auto generated key (an identity column or from a sequence), and the
+<code>&lt;generatedKey&gt;</code> configuration element is specified, then Ibator will generate
+an appropriate <code>&lt;selectKey&gt;</code> element and will return the value of the
+generated key.</p>
+<p>This element will be generated if the insert statement is enabled.</p>
+
 <h2>Update By Primary Key</h2>
 <p>This element is an update statement that will update one row - designated by the primary
 key.  The update statement will update all fields in the table unless:</p>

Modified: ibatis/trunk/java/tools/ibator/core/htmldoc/migratingFromAbator.html
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/htmldoc/migratingFromAbator.html?rev=727079&r1=727078&r2=727079&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/htmldoc/migratingFromAbator.html (original)
+++ ibatis/trunk/java/tools/ibator/core/htmldoc/migratingFromAbator.html Tue Dec 16 08:35:50 2008
@@ -47,7 +47,7 @@
   <li>The <code>generatorSet</code> attribute is removed from the
     <code>&lt;ibatorContext&gt;</code> element and replaced with the
     <code>targetRuntime</code> attribute.  Valid values for this
-    attribute are <code>IbatisJava2</code> or <code>Ibatis2Java5</code>.
+    attribute are <code>Ibatis2Java2</code> or <code>Ibatis2Java5</code>.
     Ibator does not include the legacy generator set from
     Abator - so iBATIS version 2.2.0 or higher is required for
     the code generated by Ibator.</li>

Modified: ibatis/trunk/java/tools/ibator/core/htmldoc/reference/building.html
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/htmldoc/reference/building.html?rev=727079&r1=727078&r2=727079&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/htmldoc/reference/building.html (original)
+++ ibatis/trunk/java/tools/ibator/core/htmldoc/reference/building.html Tue Dec 16 08:35:50 2008
@@ -20,8 +20,9 @@
 has is on <code>ant.jar</code> - for successful compilation of the included Ant task.
 It is straight forward to compile Ibator from source - simply unzip the source in
 an Ibator distribution and compile it with your favorite tool.</p>
-
-<p>If you would like to build Ibator from the very latest version of the source code
+<p>The Ibator distribution does not contain the tests that are run during the build,
+or other classes that are a necessary part of the build.  If you would like to
+inspect those classes, or build Ibator from the very latest version of the source code
 at Apache then follow these steps:</p>
 <ol>
   <li>Do a SubVersion checkout of the Ibator source tree from the location

Modified: ibatis/trunk/java/tools/ibator/core/htmldoc/running.html
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/htmldoc/running.html?rev=727079&r1=727078&r2=727079&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/htmldoc/running.html (original)
+++ ibatis/trunk/java/tools/ibator/core/htmldoc/running.html Tue Dec 16 08:35:50 2008
@@ -195,7 +195,7 @@
    show exception handling, but that should be obvious from the compiler
    errors :)</p>
 <pre>
-   List warnings = new ArrayList();  // Ibator will add Strings to this list
+   List&lt;String&gt; warnings = new ArrayList&lt;String&gt;();
    boolean overwrite = true;
    File configFile = new File("ibatorConfig.xml");
    IbatorConfigurationParser cp = new IbatorConfigurationParser(warnings);
@@ -225,7 +225,7 @@
    not show exception handling, but that should be obvious from the compiler
    errors :)</p>
 <pre>
-   List warnings = new ArrayList();  // Ibator will add Strings to this list
+   List&lt;String&gt; warnings = new ArrayList&lt;String&gt;();
    boolean overwrite = true;
    IbatorConfiguration config = new IbatorConfiguration();
 

Modified: ibatis/trunk/java/tools/ibator/core/htmldoc/whatsNew.html
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/htmldoc/whatsNew.html?rev=727079&r1=727078&r2=727079&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/htmldoc/whatsNew.html (original)
+++ ibatis/trunk/java/tools/ibator/core/htmldoc/whatsNew.html Tue Dec 16 08:35:50 2008
@@ -16,6 +16,19 @@
 </div>
 
 <h1>What's New in Ibator</h1>
+<h2>Version 1.2.1</h2>
+<h3>Bugs Fixed</h3>
+<ul>
+  <li>Fixed the IbatorObjectFactory so it will find internal classes from the context classloader.</li>
+</ul>
+
+<h3>Enhancements</h3>
+<ul>
+  <li>Modified plugin methods for model fields, getters, and setters so that
+   the plugin will know which type of class (Primary Key, Base Record, or
+   Record with BLOBs) is being generated.</li>
+</ul>
+   
 <h2>Version 1.2.0</h2>
 <h3>Announcements</h3>
 <ul>
@@ -33,7 +46,7 @@
   <li>Fixed IBATIS-542 - upgrade the build to Ant version 1.7.1</li>
 </ul>
 
-<h3>Enhacements</h3>
+<h3>Enhancements</h3>
 <ul>
   <li>Ibator now includes a plugin mechanism.  This mechanism can be used to
       add to or modify the code generated by Ibator.  If you have previously

Modified: ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IbatorPlugin.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IbatorPlugin.java?rev=727079&r1=727078&r2=727079&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IbatorPlugin.java (original)
+++ ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IbatorPlugin.java Tue Dec 16 08:35:50 2008
@@ -66,6 +66,12 @@
  *
  */
 public interface IbatorPlugin {
+    public enum ModelClassType {
+        PRIMARY_KEY,
+        BASE_RECORD,
+        RECORD_WITH_BLOBS
+    }
+    
     /**
      * Set the context under which this plugin is running
      * 
@@ -660,12 +666,14 @@
      *   the database
      * @param introspectedTable ibator's class containing information
      *   about the table as introspected from the database
+     * @param modelClassType the type of class that the field is generated
+     *   for
      * @return true if the field should be generated, false
      *   if the generated field should be ignored.  In the case
      *   of multiple plugins, the first plugin returning false
      *   will disable the calling of further plugins.
      */
-    boolean modelFieldGenerated(Field field, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable);
+    boolean modelFieldGenerated(Field field, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable, ModelClassType modelClassType);
 
     /**
      * This method is called after the getter, or accessor, method
@@ -681,12 +689,14 @@
      *   the database
      * @param introspectedTable ibator's class containing information
      *   about the table as introspected from the database
+     * @param modelClassType the type of class that the field is generated
+     *   for
      * @return true if the method should be generated, false
      *   if the generated method should be ignored.  In the case
      *   of multiple plugins, the first plugin returning false
      *   will disable the calling of further plugins.
      */
-    boolean modelGetterMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable);
+    boolean modelGetterMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable, ModelClassType modelClassType);
 
     /**
      * This method is called after the setter, or mutator, method
@@ -702,12 +712,14 @@
      *   the database
      * @param introspectedTable ibator's class containing information
      *   about the table as introspected from the database
+     * @param modelClassType the type of class that the field is generated
+     *   for
      * @return true if the method should be generated, false
      *   if the generated method should be ignored.  In the case
      *   of multiple plugins, the first plugin returning false
      *   will disable the calling of further plugins.
      */
-    boolean modelSetterMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable);
+    boolean modelSetterMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable, ModelClassType modelClassType);
 
     /**
      * This method is called after the primary key class is generated by

Modified: ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IbatorPluginAdapter.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IbatorPluginAdapter.java?rev=727079&r1=727078&r2=727079&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IbatorPluginAdapter.java (original)
+++ ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IbatorPluginAdapter.java Tue Dec 16 08:35:50 2008
@@ -197,11 +197,13 @@
         return true;
     }
 
-    public boolean modelFieldGenerated(Field field, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable) {
+    public boolean modelFieldGenerated(Field field, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable,
+            IbatorPlugin.ModelClassType modelClassType) {
         return true;
     }
 
-    public boolean modelGetterMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable) {
+    public boolean modelGetterMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable,
+            IbatorPlugin.ModelClassType modelClassType) {
         return true;
     }
 
@@ -213,7 +215,8 @@
         return true;
     }
 
-    public boolean modelSetterMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable) {
+    public boolean modelSetterMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable,
+            IbatorPlugin.ModelClassType modelClassType) {
         return true;
     }
 

Modified: ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IntrospectedTable.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IntrospectedTable.java?rev=727079&r1=727078&r2=727079&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IntrospectedTable.java (original)
+++ ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/api/IntrospectedTable.java Tue Dec 16 08:35:50 2008
@@ -363,7 +363,7 @@
             || blobColumns.size() > 0;
     }
     
-    protected String getDAOInterfacePackage() {
+    public String getDAOInterfacePackage() {
         DAOGeneratorConfiguration config = ibatorContext.getDaoGeneratorConfiguration();
         
         StringBuilder sb = new StringBuilder();
@@ -375,7 +375,7 @@
         return sb.toString();
     }
     
-    protected String getDAOImplementationPackage() {
+    public String getDAOImplementationPackage() {
         DAOGeneratorConfiguration config = ibatorContext.getDaoGeneratorConfiguration();
         
         StringBuilder sb = new StringBuilder();
@@ -391,7 +391,7 @@
         return sb.toString();
     }
     
-    protected String getJavaModelPackage() {
+    public String getJavaModelPackage() {
         JavaModelGeneratorConfiguration config = ibatorContext.getJavaModelGeneratorConfiguration();
 
         StringBuilder sb = new StringBuilder();

Modified: ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/model/BaseRecordGenerator.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/model/BaseRecordGenerator.java?rev=727079&r1=727078&r2=727079&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/model/BaseRecordGenerator.java (original)
+++ ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/model/BaseRecordGenerator.java Tue Dec 16 08:35:50 2008
@@ -83,20 +83,20 @@
 
             Field field = getJavaBeansField(introspectedColumn);
             if (plugins.modelFieldGenerated(field, topLevelClass, introspectedColumn,
-                    introspectedTable)) {
+                    introspectedTable, IbatorPlugin.ModelClassType.BASE_RECORD)) {
                 topLevelClass.addField(field);
                 topLevelClass.addImportedType(field.getType());
             }
 
             Method method = getJavaBeansGetter(introspectedColumn);
             if (plugins.modelGetterMethodGenerated(method, topLevelClass,
-                    introspectedColumn, introspectedTable)) {
+                    introspectedColumn, introspectedTable, IbatorPlugin.ModelClassType.BASE_RECORD)) {
                 topLevelClass.addMethod(method);
             }
 
             method = getJavaBeansSetter(introspectedColumn);
             if (plugins.modelSetterMethodGenerated(method, topLevelClass,
-                    introspectedColumn, introspectedTable)) {
+                    introspectedColumn, introspectedTable, IbatorPlugin.ModelClassType.BASE_RECORD)) {
                 topLevelClass.addMethod(method);
             }
         }

Modified: ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/model/PrimaryKeyGenerator.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/model/PrimaryKeyGenerator.java?rev=727079&r1=727078&r2=727079&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/model/PrimaryKeyGenerator.java (original)
+++ ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/model/PrimaryKeyGenerator.java Tue Dec 16 08:35:50 2008
@@ -70,18 +70,21 @@
             }
             
             Field field = getJavaBeansField(introspectedColumn);
-            if (plugins.modelFieldGenerated(field, topLevelClass, introspectedColumn, introspectedTable)) {
+            if (plugins.modelFieldGenerated(field, topLevelClass, introspectedColumn,
+                    introspectedTable, IbatorPlugin.ModelClassType.PRIMARY_KEY)) {
                 topLevelClass.addField(field);
                 topLevelClass.addImportedType(field.getType());
             }
             
             Method method = getJavaBeansGetter(introspectedColumn);
-            if (plugins.modelGetterMethodGenerated(method, topLevelClass, introspectedColumn, introspectedTable)) {
+            if (plugins.modelGetterMethodGenerated(method, topLevelClass, introspectedColumn,
+                    introspectedTable, IbatorPlugin.ModelClassType.PRIMARY_KEY)) {
                 topLevelClass.addMethod(method);
             }
             
             method = getJavaBeansSetter(introspectedColumn);
-            if (plugins.modelSetterMethodGenerated(method, topLevelClass, introspectedColumn, introspectedTable)) {
+            if (plugins.modelSetterMethodGenerated(method, topLevelClass, introspectedColumn,
+                    introspectedTable, IbatorPlugin.ModelClassType.PRIMARY_KEY)) {
                 topLevelClass.addMethod(method);
             }
         }

Modified: ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/model/RecordWithBLOBsGenerator.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/model/RecordWithBLOBsGenerator.java?rev=727079&r1=727078&r2=727079&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/model/RecordWithBLOBsGenerator.java (original)
+++ ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/generator/ibatis2/model/RecordWithBLOBsGenerator.java Tue Dec 16 08:35:50 2008
@@ -71,18 +71,21 @@
             }
             
             Field field = getJavaBeansField(introspectedColumn);
-            if (plugins.modelFieldGenerated(field, topLevelClass, introspectedColumn, introspectedTable)) {
+            if (plugins.modelFieldGenerated(field, topLevelClass, introspectedColumn,
+                    introspectedTable, IbatorPlugin.ModelClassType.RECORD_WITH_BLOBS)) {
                 topLevelClass.addField(field);
                 topLevelClass.addImportedType(field.getType());
             }
             
             Method method = getJavaBeansGetter(introspectedColumn);
-            if (plugins.modelGetterMethodGenerated(method, topLevelClass, introspectedColumn, introspectedTable)) {
+            if (plugins.modelGetterMethodGenerated(method, topLevelClass, introspectedColumn,
+                    introspectedTable, IbatorPlugin.ModelClassType.RECORD_WITH_BLOBS)) {
                 topLevelClass.addMethod(method);
             }
             
             method = getJavaBeansSetter(introspectedColumn);
-            if (plugins.modelSetterMethodGenerated(method, topLevelClass, introspectedColumn, introspectedTable)) {
+            if (plugins.modelSetterMethodGenerated(method, topLevelClass, introspectedColumn,
+                    introspectedTable, IbatorPlugin.ModelClassType.RECORD_WITH_BLOBS)) {
                 topLevelClass.addMethod(method);
             }
         }

Modified: ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/IbatorObjectFactory.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/IbatorObjectFactory.java?rev=727079&r1=727078&r2=727079&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/IbatorObjectFactory.java (original)
+++ ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/IbatorObjectFactory.java Tue Dec 16 08:35:50 2008
@@ -106,15 +106,27 @@
 	}
 	
     public static Object createInternalObject(String type) {
+        Class<?> clazz = null;
+        
+        try {
+            ClassLoader cl = Thread.currentThread().getContextClassLoader();
+            clazz = cl.loadClass(type);
+        } catch (Exception e) {
+            // ignore - failsafe below
+        }
+        
         Object answer;
         
         try {
-            Class<?> clazz = Class.forName(type);
-            
+            if (clazz == null) {
+                clazz = Class.forName(type);
+            }
+        
             answer = clazz.newInstance();
         } catch (Exception e) {
             throw new RuntimeException(
               Messages.getString("RuntimeError.6", type), e); //$NON-NLS-1$
+            
         }
         
         return answer;

Modified: ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/IbatorPluginAggregator.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/IbatorPluginAggregator.java?rev=727079&r1=727078&r2=727079&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/IbatorPluginAggregator.java (original)
+++ ibatis/trunk/java/tools/ibator/core/src/org/apache/ibatis/ibator/internal/IbatorPluginAggregator.java Tue Dec 16 08:35:50 2008
@@ -861,11 +861,12 @@
         return rc;
     }
 
-    public boolean modelFieldGenerated(Field field, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable) {
+    public boolean modelFieldGenerated(Field field, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable,
+            IbatorPlugin.ModelClassType modelClassType) {
         boolean rc = true;
 
         for (IbatorPlugin plugin : plugins) {
-            if (!plugin.modelFieldGenerated(field, topLevelClass, introspectedColumn, introspectedTable)) {
+            if (!plugin.modelFieldGenerated(field, topLevelClass, introspectedColumn, introspectedTable, modelClassType)) {
                 rc = false;
                 break;
             }
@@ -874,11 +875,12 @@
         return rc;
     }
 
-    public boolean modelGetterMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable) {
+    public boolean modelGetterMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable,
+            IbatorPlugin.ModelClassType modelClassType) {
         boolean rc = true;
 
         for (IbatorPlugin plugin : plugins) {
-            if (!plugin.modelGetterMethodGenerated(method, topLevelClass, introspectedColumn, introspectedTable)) {
+            if (!plugin.modelGetterMethodGenerated(method, topLevelClass, introspectedColumn, introspectedTable, modelClassType)) {
                 rc = false;
                 break;
             }
@@ -887,11 +889,12 @@
         return rc;
     }
 
-    public boolean modelSetterMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable) {
+    public boolean modelSetterMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable,
+            IbatorPlugin.ModelClassType modelClassType) {
         boolean rc = true;
 
         for (IbatorPlugin plugin : plugins) {
-            if (!plugin.modelSetterMethodGenerated(method, topLevelClass, introspectedColumn, introspectedTable)) {
+            if (!plugin.modelSetterMethodGenerated(method, topLevelClass, introspectedColumn, introspectedTable, modelClassType)) {
                 rc = false;
                 break;
             }

Modified: ibatis/trunk/java/tools/ibator/core/test/README.txt
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/tools/ibator/core/test/README.txt?rev=727079&r1=727078&r2=727079&view=diff
==============================================================================
--- ibatis/trunk/java/tools/ibator/core/test/README.txt (original)
+++ ibatis/trunk/java/tools/ibator/core/test/README.txt Tue Dec 16 08:35:50 2008
@@ -1,2 +1,3 @@
-The files in this source tree are used to test iBATOR itself - not
-the generated code from iBATOR.
+The files in this source tree are used to test Ibator itself - not
+the generated code from Ibator.  Most of Ibator is tested by ensuring
+that code generated by Ibator compiles and executes properly.