Index: .classpath
===================================================================
RCS file: /storage/Repository/Arch/blancoDbEE/.classpath,v
retrieving revision 1.19
diff -u -r1.19 .classpath
--- .classpath	14 Dec 2005 06:44:47 -0000	1.19
+++ .classpath	18 Jan 2006 08:57:04 -0000
@@ -8,7 +8,7 @@
 	<classpathentry sourcepath="ECLIPSE_HOME/plugins/org.eclipse.jdt.source_3.1.0/src/org.junit_3.8.1/junitsrc.zip" kind="var" path="JUNIT_HOME/junit.jar"/>
 	<classpathentry kind="lib" path="lib/jxl-2.5.8.jar"/>
 	<classpathentry kind="lib" path="lib/blancocodegenerator-0.7.0.jar"/>
-	<classpathentry kind="lib" path="lib/blancocommons-0.3.0.jar"/>
-	<classpathentry kind="lib" path="lib/blancovalueobject-0.0.1.jar"/>
+	<classpathentry kind="lib" path="lib/blancocommons-0.3.1.jar"/>
+	<classpathentry kind="lib" path="lib/blancovalueobject-0.1.1.jar"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
Index: build.xml
===================================================================
RCS file: /storage/Repository/Arch/blancoDbEE/build.xml,v
retrieving revision 1.38
diff -u -r1.38 build.xml
--- build.xml	14 Dec 2005 06:44:47 -0000	1.38
+++ build.xml	18 Jan 2006 08:57:04 -0000
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <project name="blancoDbEE" default="build" basedir=".">
-	<property name="version" value="1.3.12" />
+	<property name="version" value="1.4.1" />
 
 	<property name="product" value="blancoDbEE" />
 	<property name="build.jar" value="blancodb-ee-${version}.jar" />
@@ -28,6 +28,12 @@
 			<fileset dir="lib.ant" includes="*.jar" />
 		</classpath>
 	</taskdef>
+	<taskdef name="blancodb" classname="blanco.db.task.BlancoDbTask">
+		<classpath>
+			<fileset dir="lib" includes="*.jar" />
+			<fileset dir="lib.ant" includes="*.jar" />
+		</classpath>
+	</taskdef>
 
 	<target name="compile">
 		<delete dir="bin" />
@@ -70,15 +76,25 @@
 		<echo>繝励Ο繧ｸ繧ｧ繧ｯ繝医ヵ繧｡繧､繝ｫ繧剃ｸ?蠑上ヰ繝?繧ｯ繧｢繝?繝励＠縺ｾ縺?.</echo>
 		<echo>  閾ｪ蜍慕函謌仙ｯｾ雎｡縺ｨ縺ｪ繧誼lanco繝輔か繝ｫ繝?縺ｯ蜑企勁縺励∪縺?.</echo>
 		<delete dir="bin" />
+		<delete dir="tmp" />
+		<delete dir="javadoc" />
 		<delete file="${project.zip}" />
+		<mkdir dir="tmp" />
+
+		<copy todir="lib.ant">
+			<fileset dir=".">
+				<include name="blancodb-ee-*.jar" />
+			</fileset>
+		</copy>
+
 		<zip destfile="${project.zip}">
-			<zipfileset dir="." prefix="blancoDbEE" excludes="${project.zip},**/*.class" />
+			<zipfileset dir="." prefix="blancoDbEE" excludes="${project.zip},**/*.class,**/postgresql-*.jar" />
 		</zip>
 	</target>
 
 	<target name="meta">
 		<delete dir="tmp/resourcebundle" />
-		<blancoresourcebundle metadir="meta/db/program" tmpdir="tmp" targetdir="blanco" />
+		<blancoresourcebundle metadir="meta/db/program" tmpdir="tmp" targetdir="blanco" commenttimestamp="false" />
 		<delete dir="tmp/resourcebundle" />
 		<delete dir="tmp/anttask" />
 		<blancoanttask metadir="meta/db/program" />
@@ -87,7 +103,27 @@
 		<blancoconcretesax metadir="meta/db/concretesax" basepackage="blanco.db.concretesax" />
 	</target>
 
+	<!-- JavaDoc險倩ｿｰ 2005.12.15迚? -->
+	<target name="javadoc">
+		<echo>JavaDoc繧堤函謌舌＠縺ｾ縺吶??</echo>
+		<delete dir="javadoc" />
+		<javadoc destdir="javadoc">
+			<fileset dir="src" />
+			<fileset dir="blanco/main" />
+			<classpath>
+				<fileset dir="lib" includes="*.jar" />
+				<fileset dir="lib.ant" includes="*.jar" />
+			</classpath>
+		</javadoc>
+	</target>
+
 	<target name="build" depends="meta,jar,pack">
+	</target>
+
+	<target name="generate">
+		<echo>blancoDb逕滓??: PostgreSQL</echo>
+		<delete dir="tmp/db" />
+		<blancodb jdbcdriver="org.postgresql.Driver" jdbcurl="jdbc:postgresql://localhost:5432/template1" jdbcuser="postgres" jdbcpassword="password" basepackage="igapyon" metadir="meta/db/template" table="true" sql="true" targetdir="tmp/blanco" />
 	</target>
 
 </project>
Index: blanco/main/BlancoDb.properties
===================================================================
RCS file: /storage/Repository/Arch/blancoDbEE/blanco/main/BlancoDb.properties,v
retrieving revision 1.18
diff -u -r1.18 BlancoDb.properties
--- blanco/main/BlancoDb.properties	15 Dec 2005 01:22:18 -0000	1.18
+++ blanco/main/BlancoDb.properties	18 Jan 2006 08:57:04 -0000
@@ -1,9 +1,12 @@
 # blancoResourceBundle properties file for locale [default]
-# generated at 2005/12/15 0:24:48
 ## \u57FA\u672C\u52D5\u4F5C\u3092\u8A18\u8FF0\u3057\u307E\u3059\u3002\u539F\u5247\u7684\u306B\u5909\u66F4\u3057\u306A\u3044\u3067\u304F\u3060\u3055\u3044\u3002
 SELECT.SCROLL=forward_only
 SELECT_ALL.SCROLL=insensitive
 SELECT_UPDATABLE.SCROLL=insensitive
+## \u5358\u4E00\u8868\u306E\u60C5\u5831\u53D6\u5F97\u306B\u3064\u3044\u3066\u52D5\u4F5C\u3092\u898F\u5B9A\u3057\u307E\u3059\u3002
+## \u5358\u4E00\u8868\u306E\u5217\u306B\u3064\u3044\u3066\u578B\u304C\u51E6\u7406\u3067\u304D\u306A\u3044\u3068\u304D (true:\u578B\u304C\u51E6\u7406\u3067\u304D\u306A\u3044\u3068\u304D\u306F\u51E6\u7406\u4E2D\u65AD\u3001false:\u578B\u304C\u51E6\u7406\u3067\u304D\u306A\u3044\u5834\u5408\u306F\u7121\u8996)
+TYPE_MAPPING.FAIL_ON_ERROR=true
+TYPE_MAPPING.ERR001=\u578B\u30DE\u30C3\u30D4\u30F3\u30B0\u3068\u3057\u3066\u30B5\u30DD\u30FC\u30C8\u3057\u306A\u3044JDBC\u578B({0,number}/{1})\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002\u51E6\u7406\u4E2D\u65AD\u3057\u307E\u3059\u3002
 ## Excel\u30E1\u30BF\u30D5\u30A1\u30A4\u30EB\u30FB\u30C1\u30A7\u30C3\u30AF\u7D50\u679C\u30A8\u30E9\u30FC\u30E1\u30C3\u30BB\u30FC\u30B8
 XML2JAVACLASS.ERR001=SQL\u5B9A\u7FA9ID[{0}]\u306E\u300CSQL\u6587\u300D\u304C\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002SQL\u6587\u304C\u9069\u5207\u306B\u8A18\u8F09\u3055\u308C\u3066\u3044\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
 XML2JAVACLASS.ERR002=SQL\u5B9A\u7FA9ID[{0}]\u306B\u304A\u3044\u3066SQL\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002SQL\u5B9A\u7FA9ID[{0}]\u306ESQL\u6587\u3084SQL\u5165\u529B\u30D1\u30E9\u30E1\u30FC\u30BF\u306B\u8AA4\u308A\u304C\u542B\u307E\u308C\u3066\u3044\u306A\u3044\u304B\u8ABF\u3079\u3066\u304F\u3060\u3055\u3044\u3002SQLState[{1}] \u30A8\u30E9\u30FC\u30B3\u30FC\u30C9[{2,number}] \u30E1\u30C3\u30BB\u30FC\u30B8[{3}]
Index: blanco/main/BlancoDb_ja.properties
===================================================================
RCS file: /storage/Repository/Arch/blancoDbEE/blanco/main/BlancoDb_ja.properties,v
retrieving revision 1.18
diff -u -r1.18 BlancoDb_ja.properties
--- blanco/main/BlancoDb_ja.properties	15 Dec 2005 01:22:18 -0000	1.18
+++ blanco/main/BlancoDb_ja.properties	18 Jan 2006 08:57:04 -0000
@@ -1,9 +1,12 @@
 # blancoResourceBundle properties file for locale [ja]
-# generated at 2005/12/15 0:24:49
 ## \u57FA\u672C\u52D5\u4F5C\u3092\u8A18\u8FF0\u3057\u307E\u3059\u3002\u539F\u5247\u7684\u306B\u5909\u66F4\u3057\u306A\u3044\u3067\u304F\u3060\u3055\u3044\u3002
 SELECT.SCROLL=forward_only
 SELECT_ALL.SCROLL=insensitive
 SELECT_UPDATABLE.SCROLL=insensitive
+## \u5358\u4E00\u8868\u306E\u60C5\u5831\u53D6\u5F97\u306B\u3064\u3044\u3066\u52D5\u4F5C\u3092\u898F\u5B9A\u3057\u307E\u3059\u3002
+## \u5358\u4E00\u8868\u306E\u5217\u306B\u3064\u3044\u3066\u578B\u304C\u51E6\u7406\u3067\u304D\u306A\u3044\u3068\u304D (true:\u578B\u304C\u51E6\u7406\u3067\u304D\u306A\u3044\u3068\u304D\u306F\u51E6\u7406\u4E2D\u65AD\u3001false:\u578B\u304C\u51E6\u7406\u3067\u304D\u306A\u3044\u5834\u5408\u306F\u7121\u8996)
+TYPE_MAPPING.FAIL_ON_ERROR=true
+TYPE_MAPPING.ERR001=\u578B\u30DE\u30C3\u30D4\u30F3\u30B0\u3068\u3057\u3066\u30B5\u30DD\u30FC\u30C8\u3057\u306A\u3044JDBC\u578B({0,number}/{1})\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002\u51E6\u7406\u4E2D\u65AD\u3057\u307E\u3059\u3002
 ## Excel\u30E1\u30BF\u30D5\u30A1\u30A4\u30EB\u30FB\u30C1\u30A7\u30C3\u30AF\u7D50\u679C\u30A8\u30E9\u30FC\u30E1\u30C3\u30BB\u30FC\u30B8
 XML2JAVACLASS.ERR001=SQL\u5B9A\u7FA9ID[{0}]\u306E\u300CSQL\u6587\u300D\u304C\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002SQL\u6587\u304C\u9069\u5207\u306B\u8A18\u8F09\u3055\u308C\u3066\u3044\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
 XML2JAVACLASS.ERR002=SQL\u5B9A\u7FA9ID[{0}]\u306B\u304A\u3044\u3066SQL\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002SQL\u5B9A\u7FA9ID[{0}]\u306ESQL\u6587\u3084SQL\u5165\u529B\u30D1\u30E9\u30E1\u30FC\u30BF\u306B\u8AA4\u308A\u304C\u542B\u307E\u308C\u3066\u3044\u306A\u3044\u304B\u8ABF\u3079\u3066\u304F\u3060\u3055\u3044\u3002SQLState[{1}] \u30A8\u30E9\u30FC\u30B3\u30FC\u30C9[{2,number}] \u30E1\u30C3\u30BB\u30FC\u30B8[{3}]
Index: blanco/main/blanco/db/resourcebundle/BlancoDbResourceBundle.java
===================================================================
RCS file: /storage/Repository/Arch/blancoDbEE/blanco/main/blanco/db/resourcebundle/BlancoDbResourceBundle.java,v
retrieving revision 1.6
diff -u -r1.6 BlancoDbResourceBundle.java
--- blanco/main/blanco/db/resourcebundle/BlancoDbResourceBundle.java	13 Dec 2005 05:59:06 -0000	1.6
+++ blanco/main/blanco/db/resourcebundle/BlancoDbResourceBundle.java	18 Jan 2006 08:57:04 -0000
@@ -138,6 +138,56 @@
     }
 
     /**
+     * bundle[BlancoDb], key[TYPE_MAPPING.FAIL_ON_ERROR]<br>
+     * <br>
+     * [true] (ja)<br>
+     * 
+     * @return key[TYPE_MAPPING.FAIL_ON_ERROR]に対応する値。外部から読み込みができない場合には、定義書の値を戻します。必ずnull以外の値が戻ります。
+     */
+    public String getTypeMappingFailOnError() {
+        // 初期値として定義書の値を利用します。
+        String strFormat = "true";
+        try {
+            if (fResourceBundle != null) {
+                strFormat = fResourceBundle.getString("TYPE_MAPPING.FAIL_ON_ERROR");
+            }
+        } catch (MissingResourceException ex) {
+            final String message = "基底名[BlancoDb]、キー[TYPE_MAPPING.FAIL_ON_ERROR]の定義が取得できませんでした。定義書の値を利用して処理続行します。:" + ex.toString();
+            System.out.println(message);
+        }
+        // 置換文字列はひとつもありません。
+        return strFormat;
+    }
+
+    /**
+     * bundle[BlancoDb], key[TYPE_MAPPING.ERR001]<br>
+     * <br>
+     * [型マッピングとしてサポートしないJDBC型({0,number}/{1})が見つかりました。処理中断します。] (ja)<br>
+     * 
+     * @param arg0 置換文字列{0}を置換する値。java.math.BigDecimal型を与えてください。
+     * @param arg1 置換文字列{1}を置換する値。java.lang.String型を与えてください。
+     * 
+     * @return key[TYPE_MAPPING.ERR001]に対応する値。外部から読み込みができない場合には、定義書の値を戻します。必ずnull以外の値が戻ります。
+     */
+    public String getTypeMappingErr001(final BigDecimal arg0, final String arg1) {
+        // 初期値として定義書の値を利用します。
+        String strFormat = "型マッピングとしてサポートしないJDBC型({0,number}/{1})が見つかりました。処理中断します。";
+        try {
+            if (fResourceBundle != null) {
+                strFormat = fResourceBundle.getString("TYPE_MAPPING.ERR001");
+            }
+        } catch (MissingResourceException ex) {
+            final String message = "基底名[BlancoDb]、キー[TYPE_MAPPING.ERR001]の定義が取得できませんでした。定義書の値を利用して処理続行します。:" + ex.toString();
+            System.out.println(message);
+        }
+        final MessageFormat messageFormat = new MessageFormat(strFormat);
+        final StringBuffer strbuf = new StringBuffer();
+        // 与えられた引数を元に置換文字列を置き換えます。
+        messageFormat.format(new Object[] {arg0, arg1}, strbuf, null);
+        return strbuf.toString();
+    }
+
+    /**
      * bundle[BlancoDb], key[XML2JAVACLASS.ERR001]<br>
      * <br>
      * [SQL定義ID[{0}]の「SQL文」が取得できませんでした。SQL文が適切に記載されていることを確認してください。] (ja)<br>
Index: blanco/main/blanco/db/task/AbstractBlancoDbTask.java
===================================================================
RCS file: /storage/Repository/Arch/blancoDbEE/blanco/main/blanco/db/task/AbstractBlancoDbTask.java,v
retrieving revision 1.1
diff -u -r1.1 AbstractBlancoDbTask.java
--- blanco/main/blanco/db/task/AbstractBlancoDbTask.java	13 Dec 2005 05:59:12 -0000	1.1
+++ blanco/main/blanco/db/task/AbstractBlancoDbTask.java	18 Jan 2006 08:57:04 -0000
@@ -1,6 +1,6 @@
 /*
  * This code is generated by blanco Framework.
- * Apache Antタスク [BlancoDb]の抽象クラス
+ * Apache Antタスク [BlancoDb]の抽象親クラス
  */
 package blanco.db.task;
 
@@ -8,12 +8,15 @@
 import org.apache.tools.ant.Task;
 
 /**
- * Apache Antタスク [BlancoDb]の抽象クラス<br>
- * 説明: [BlancoDb Enterprise Edition のAntTaskです。]<br>
- * このクラスを継承してBlancoDbTaskクラスを作成して実際のAntタスクの処理内容を記述してください。<br>
+ * Apache Antタスク [BlancoDb]の抽象親クラス。
+ * 
+ * BlancoDb Enterprise Edition のAntTaskです。<br>
+ * この抽象親クラスでは、Apache Antタスクで一般的に必要なチェックなどのコーディングを肩代わりします。
+ * このクラスを継承して、パッケージ[blanco.db.task]にBlancoDbTaskクラスを作成してください。そしてAntタスクの処理内容を記述してください。<br>
+ * <br>
  * Antタスクへの組み込み例<br>
  * <pre>
- * &lt;taskdef name=&quot;BlancoDb&quot; classname=&quot;blanco.db.task.BlancoDbTask">
+ * &lt;taskdef name=&quot;blancodb&quot; classname=&quot;blanco.db.task.BlancoDbTask">
  *     &lt;classpath&gt;
  *         &lt;fileset dir=&quot;lib&quot; includes=&quot;*.jar&quot; /&gt;
  *         &lt;fileset dir=&quot;lib.ant&quot; includes=&quot;*.jar&quot; /&gt;
@@ -25,7 +28,7 @@
     /**
      * Antタスクの[jdbcdriver]アトリビュート<br>
      * 項目番号: 1<br>
-     * 説明: JDBCドライバのクラス名を指定します。<br>
+     * JDBCドライバのクラス名を指定します。<br>
      * 必須項目<br>
      */
     private String fJdbcdriver;
@@ -33,7 +36,7 @@
     /**
      * Antタスクの[jdbcurl]アトリビュート<br>
      * 項目番号: 2<br>
-     * 説明: JDBC接続先URLを指定します。<br>
+     * JDBC接続先URLを指定します。<br>
      * 必須項目<br>
      */
     private String fJdbcurl;
@@ -41,7 +44,7 @@
     /**
      * Antタスクの[jdbcuser]アトリビュート<br>
      * 項目番号: 3<br>
-     * 説明: JDBCデータベース接続を行う際のユーザ名を指定します。<br>
+     * JDBCデータベース接続を行う際のユーザ名を指定します。<br>
      * 必須項目<br>
      */
     private String fJdbcuser;
@@ -49,7 +52,7 @@
     /**
      * Antタスクの[jdbcpassword]アトリビュート<br>
      * 項目番号: 4<br>
-     * 説明: JDBCデータベース接続を行う際のパスワードを指定します。<br>
+     * JDBCデータベース接続を行う際のパスワードを指定します。<br>
      * 必須項目<br>
      */
     private String fJdbcpassword;
@@ -57,7 +60,7 @@
     /**
      * Antタスクの[metadir]アトリビュート<br>
      * 項目番号: 5<br>
-     * 説明: SQL定義メタファイルが格納されているディレクトリを指定します。<br>
+     * SQL定義メタファイルが格納されているディレクトリを指定します。<br>
      * 必須項目<br>
      */
     private String fMetadir;
@@ -65,21 +68,21 @@
     /**
      * Antタスクの[tmpdir]アトリビュート<br>
      * 項目番号: 6<br>
-     * 説明: テンポラリフォルダを指定します。無指定の場合にはカレント直下のtmpフォルダを利用します。<br>
+     * テンポラリフォルダを指定します。無指定の場合にはカレント直下のtmpフォルダを利用します。<br>
      */
     private String fTmpdir;
 
     /**
      * Antタスクの[targetdir]アトリビュート<br>
      * 項目番号: 7<br>
-     * 説明: blancoDbがJavaソースコードを出力するディレクトリを指定します。<br>
+     * blancoDbがJavaソースコードを出力するディレクトリを指定します。<br>
      */
     private String fTargetdir;
 
     /**
      * Antタスクの[basepackage]アトリビュート<br>
      * 項目番号: 8<br>
-     * 説明: blancoDbがJavaソースコードを生成する際の基準となるパッケージ名を指定します。<br>
+     * blancoDbがJavaソースコードを生成する際の基準となるパッケージ名を指定します。<br>
      * 必須項目<br>
      */
     private String fBasepackage;
@@ -87,28 +90,28 @@
     /**
      * Antタスクの[schema]アトリビュート<br>
      * 項目番号: 9<br>
-     * 説明: 単一表情報を取得する際のスキーマ名。基本的に無指定です。ただしOracleの場合にのみ、ユーザ名を大文字化したものを指定します。Oracleの場合に これを指定しないと、システム表まで検索してしまい不具合が発生するためです。<br>
+     * 単一表情報を取得する際のスキーマ名。基本的に無指定です。ただしOracleの場合にのみ、ユーザ名を大文字化したものを指定します。Oracleの場合に これを指定しないと、システム表まで検索してしまい不具合が発生するためです。<br>
      */
     private String fSchema;
 
     /**
      * Antタスクの[table]アトリビュート<br>
      * 項目番号: 10<br>
-     * 説明: trueを設定すると単一表のためのアクセサ・コードを生成します。<br>
+     * trueを設定すると単一表のためのアクセサ・コードを生成します。<br>
      */
     private String fTable;
 
     /**
      * Antタスクの[sql]アトリビュート<br>
      * 項目番号: 11<br>
-     * 説明: trueを設定するとSQL定義からコードを生成します。<br>
+     * trueを設定するとSQL定義からコードを生成します。<br>
      */
     private String fSql;
 
     /**
      * Antタスクの[log]アトリビュート<br>
      * 項目番号: 12<br>
-     * 説明: trueを設定すると Jakarta Commons用のロギングコードを生成します。<br>
+     * trueを設定すると Jakarta Commons用のロギングコードを生成します。<br>
      */
     private String fLog;
 
@@ -116,9 +119,9 @@
     protected abstract void process() throws IllegalArgumentException;
 
     /**
-     * Antタスクの[jdbcdriver]アトリビュートのセッターメソッド
-     * 項目番号: 1
-     * 説明: [JDBCドライバのクラス名を指定します。]のフィールド変数をセットします。
+     * Antタスクの[jdbcdriver]アトリビュートのセッターメソッド<br>
+     * 項目番号: 1<br>
+     * JDBCドライバのクラス名を指定します。<br>
      * 
      * @param arg セットしたい値
      */
@@ -127,9 +130,10 @@
     }
 
     /**
-     * Antタスクの[jdbcdriver]アトリビュートのセッターメソッド
-     * 項目番号: 1
-     * 説明: [JDBCドライバのクラス名を指定します。]のフィールド変数をセットします。
+     * Antタスクの[jdbcdriver]アトリビュートのセッターメソッド<br>
+     * 項目番号: 1<br>
+     * JDBCドライバのクラス名を指定します。<br>
+     * 必須アトリビュートです。Apache Antタスク上で必ず値が指定されます。<br>
      * 
      * @return このフィールドの値
      */
@@ -138,9 +142,9 @@
     }
 
     /**
-     * Antタスクの[jdbcurl]アトリビュートのセッターメソッド
-     * 項目番号: 2
-     * 説明: [JDBC接続先URLを指定します。]のフィールド変数をセットします。
+     * Antタスクの[jdbcurl]アトリビュートのセッターメソッド<br>
+     * 項目番号: 2<br>
+     * JDBC接続先URLを指定します。<br>
      * 
      * @param arg セットしたい値
      */
@@ -149,9 +153,10 @@
     }
 
     /**
-     * Antタスクの[jdbcurl]アトリビュートのセッターメソッド
-     * 項目番号: 2
-     * 説明: [JDBC接続先URLを指定します。]のフィールド変数をセットします。
+     * Antタスクの[jdbcurl]アトリビュートのセッターメソッド<br>
+     * 項目番号: 2<br>
+     * JDBC接続先URLを指定します。<br>
+     * 必須アトリビュートです。Apache Antタスク上で必ず値が指定されます。<br>
      * 
      * @return このフィールドの値
      */
@@ -160,9 +165,9 @@
     }
 
     /**
-     * Antタスクの[jdbcuser]アトリビュートのセッターメソッド
-     * 項目番号: 3
-     * 説明: [JDBCデータベース接続を行う際のユーザ名を指定します。]のフィールド変数をセットします。
+     * Antタスクの[jdbcuser]アトリビュートのセッターメソッド<br>
+     * 項目番号: 3<br>
+     * JDBCデータベース接続を行う際のユーザ名を指定します。<br>
      * 
      * @param arg セットしたい値
      */
@@ -171,9 +176,10 @@
     }
 
     /**
-     * Antタスクの[jdbcuser]アトリビュートのセッターメソッド
-     * 項目番号: 3
-     * 説明: [JDBCデータベース接続を行う際のユーザ名を指定します。]のフィールド変数をセットします。
+     * Antタスクの[jdbcuser]アトリビュートのセッターメソッド<br>
+     * 項目番号: 3<br>
+     * JDBCデータベース接続を行う際のユーザ名を指定します。<br>
+     * 必須アトリビュートです。Apache Antタスク上で必ず値が指定されます。<br>
      * 
      * @return このフィールドの値
      */
@@ -182,9 +188,9 @@
     }
 
     /**
-     * Antタスクの[jdbcpassword]アトリビュートのセッターメソッド
-     * 項目番号: 4
-     * 説明: [JDBCデータベース接続を行う際のパスワードを指定します。]のフィールド変数をセットします。
+     * Antタスクの[jdbcpassword]アトリビュートのセッターメソッド<br>
+     * 項目番号: 4<br>
+     * JDBCデータベース接続を行う際のパスワードを指定します。<br>
      * 
      * @param arg セットしたい値
      */
@@ -193,9 +199,10 @@
     }
 
     /**
-     * Antタスクの[jdbcpassword]アトリビュートのセッターメソッド
-     * 項目番号: 4
-     * 説明: [JDBCデータベース接続を行う際のパスワードを指定します。]のフィールド変数をセットします。
+     * Antタスクの[jdbcpassword]アトリビュートのセッターメソッド<br>
+     * 項目番号: 4<br>
+     * JDBCデータベース接続を行う際のパスワードを指定します。<br>
+     * 必須アトリビュートです。Apache Antタスク上で必ず値が指定されます。<br>
      * 
      * @return このフィールドの値
      */
@@ -204,9 +211,9 @@
     }
 
     /**
-     * Antタスクの[metadir]アトリビュートのセッターメソッド
-     * 項目番号: 5
-     * 説明: [SQL定義メタファイルが格納されているディレクトリを指定します。]のフィールド変数をセットします。
+     * Antタスクの[metadir]アトリビュートのセッターメソッド<br>
+     * 項目番号: 5<br>
+     * SQL定義メタファイルが格納されているディレクトリを指定します。<br>
      * 
      * @param arg セットしたい値
      */
@@ -215,9 +222,10 @@
     }
 
     /**
-     * Antタスクの[metadir]アトリビュートのセッターメソッド
-     * 項目番号: 5
-     * 説明: [SQL定義メタファイルが格納されているディレクトリを指定します。]のフィールド変数をセットします。
+     * Antタスクの[metadir]アトリビュートのセッターメソッド<br>
+     * 項目番号: 5<br>
+     * SQL定義メタファイルが格納されているディレクトリを指定します。<br>
+     * 必須アトリビュートです。Apache Antタスク上で必ず値が指定されます。<br>
      * 
      * @return このフィールドの値
      */
@@ -226,9 +234,9 @@
     }
 
     /**
-     * Antタスクの[tmpdir]アトリビュートのセッターメソッド
-     * 項目番号: 6
-     * 説明: [テンポラリフォルダを指定します。無指定の場合にはカレント直下のtmpフォルダを利用します。]のフィールド変数をセットします。
+     * Antタスクの[tmpdir]アトリビュートのセッターメソッド<br>
+     * 項目番号: 6<br>
+     * テンポラリフォルダを指定します。無指定の場合にはカレント直下のtmpフォルダを利用します。<br>
      * 
      * @param arg セットしたい値
      */
@@ -237,9 +245,10 @@
     }
 
     /**
-     * Antタスクの[tmpdir]アトリビュートのセッターメソッド
-     * 項目番号: 6
-     * 説明: [テンポラリフォルダを指定します。無指定の場合にはカレント直下のtmpフォルダを利用します。]のフィールド変数をセットします。
+     * Antタスクの[tmpdir]アトリビュートのセッターメソッド<br>
+     * 項目番号: 6<br>
+     * テンポラリフォルダを指定します。無指定の場合にはカレント直下のtmpフォルダを利用します。<br>
+     * デフォルト値[tmp]が設定されています。Apache Antタスク上でアトリビュートの指定が無い場合には、デフォルト値が設定されます。<br>
      * 
      * @return このフィールドの値
      */
@@ -248,9 +257,9 @@
     }
 
     /**
-     * Antタスクの[targetdir]アトリビュートのセッターメソッド
-     * 項目番号: 7
-     * 説明: [blancoDbがJavaソースコードを出力するディレクトリを指定します。]のフィールド変数をセットします。
+     * Antタスクの[targetdir]アトリビュートのセッターメソッド<br>
+     * 項目番号: 7<br>
+     * blancoDbがJavaソースコードを出力するディレクトリを指定します。<br>
      * 
      * @param arg セットしたい値
      */
@@ -259,9 +268,9 @@
     }
 
     /**
-     * Antタスクの[targetdir]アトリビュートのセッターメソッド
-     * 項目番号: 7
-     * 説明: [blancoDbがJavaソースコードを出力するディレクトリを指定します。]のフィールド変数をセットします。
+     * Antタスクの[targetdir]アトリビュートのセッターメソッド<br>
+     * 項目番号: 7<br>
+     * blancoDbがJavaソースコードを出力するディレクトリを指定します。<br>
      * 
      * @return このフィールドの値
      */
@@ -270,9 +279,9 @@
     }
 
     /**
-     * Antタスクの[basepackage]アトリビュートのセッターメソッド
-     * 項目番号: 8
-     * 説明: [blancoDbがJavaソースコードを生成する際の基準となるパッケージ名を指定します。]のフィールド変数をセットします。
+     * Antタスクの[basepackage]アトリビュートのセッターメソッド<br>
+     * 項目番号: 8<br>
+     * blancoDbがJavaソースコードを生成する際の基準となるパッケージ名を指定します。<br>
      * 
      * @param arg セットしたい値
      */
@@ -281,9 +290,10 @@
     }
 
     /**
-     * Antタスクの[basepackage]アトリビュートのセッターメソッド
-     * 項目番号: 8
-     * 説明: [blancoDbがJavaソースコードを生成する際の基準となるパッケージ名を指定します。]のフィールド変数をセットします。
+     * Antタスクの[basepackage]アトリビュートのセッターメソッド<br>
+     * 項目番号: 8<br>
+     * blancoDbがJavaソースコードを生成する際の基準となるパッケージ名を指定します。<br>
+     * 必須アトリビュートです。Apache Antタスク上で必ず値が指定されます。<br>
      * 
      * @return このフィールドの値
      */
@@ -292,9 +302,9 @@
     }
 
     /**
-     * Antタスクの[schema]アトリビュートのセッターメソッド
-     * 項目番号: 9
-     * 説明: [単一表情報を取得する際のスキーマ名。基本的に無指定です。ただしOracleの場合にのみ、ユーザ名を大文字化したものを指定します。Oracleの場合に これを指定しないと、システム表まで検索してしまい不具合が発生するためです。]のフィールド変数をセットします。
+     * Antタスクの[schema]アトリビュートのセッターメソッド<br>
+     * 項目番号: 9<br>
+     * 単一表情報を取得する際のスキーマ名。基本的に無指定です。ただしOracleの場合にのみ、ユーザ名を大文字化したものを指定します。Oracleの場合に これを指定しないと、システム表まで検索してしまい不具合が発生するためです。<br>
      * 
      * @param arg セットしたい値
      */
@@ -303,9 +313,9 @@
     }
 
     /**
-     * Antタスクの[schema]アトリビュートのセッターメソッド
-     * 項目番号: 9
-     * 説明: [単一表情報を取得する際のスキーマ名。基本的に無指定です。ただしOracleの場合にのみ、ユーザ名を大文字化したものを指定します。Oracleの場合に これを指定しないと、システム表まで検索してしまい不具合が発生するためです。]のフィールド変数をセットします。
+     * Antタスクの[schema]アトリビュートのセッターメソッド<br>
+     * 項目番号: 9<br>
+     * 単一表情報を取得する際のスキーマ名。基本的に無指定です。ただしOracleの場合にのみ、ユーザ名を大文字化したものを指定します。Oracleの場合に これを指定しないと、システム表まで検索してしまい不具合が発生するためです。<br>
      * 
      * @return このフィールドの値
      */
@@ -314,9 +324,9 @@
     }
 
     /**
-     * Antタスクの[table]アトリビュートのセッターメソッド
-     * 項目番号: 10
-     * 説明: [trueを設定すると単一表のためのアクセサ・コードを生成します。]のフィールド変数をセットします。
+     * Antタスクの[table]アトリビュートのセッターメソッド<br>
+     * 項目番号: 10<br>
+     * trueを設定すると単一表のためのアクセサ・コードを生成します。<br>
      * 
      * @param arg セットしたい値
      */
@@ -325,9 +335,10 @@
     }
 
     /**
-     * Antタスクの[table]アトリビュートのセッターメソッド
-     * 項目番号: 10
-     * 説明: [trueを設定すると単一表のためのアクセサ・コードを生成します。]のフィールド変数をセットします。
+     * Antタスクの[table]アトリビュートのセッターメソッド<br>
+     * 項目番号: 10<br>
+     * trueを設定すると単一表のためのアクセサ・コードを生成します。<br>
+     * デフォルト値[false]が設定されています。Apache Antタスク上でアトリビュートの指定が無い場合には、デフォルト値が設定されます。<br>
      * 
      * @return このフィールドの値
      */
@@ -336,9 +347,9 @@
     }
 
     /**
-     * Antタスクの[sql]アトリビュートのセッターメソッド
-     * 項目番号: 11
-     * 説明: [trueを設定するとSQL定義からコードを生成します。]のフィールド変数をセットします。
+     * Antタスクの[sql]アトリビュートのセッターメソッド<br>
+     * 項目番号: 11<br>
+     * trueを設定するとSQL定義からコードを生成します。<br>
      * 
      * @param arg セットしたい値
      */
@@ -347,9 +358,10 @@
     }
 
     /**
-     * Antタスクの[sql]アトリビュートのセッターメソッド
-     * 項目番号: 11
-     * 説明: [trueを設定するとSQL定義からコードを生成します。]のフィールド変数をセットします。
+     * Antタスクの[sql]アトリビュートのセッターメソッド<br>
+     * 項目番号: 11<br>
+     * trueを設定するとSQL定義からコードを生成します。<br>
+     * デフォルト値[false]が設定されています。Apache Antタスク上でアトリビュートの指定が無い場合には、デフォルト値が設定されます。<br>
      * 
      * @return このフィールドの値
      */
@@ -358,9 +370,9 @@
     }
 
     /**
-     * Antタスクの[log]アトリビュートのセッターメソッド
-     * 項目番号: 12
-     * 説明: [trueを設定すると Jakarta Commons用のロギングコードを生成します。]のフィールド変数をセットします。
+     * Antタスクの[log]アトリビュートのセッターメソッド<br>
+     * 項目番号: 12<br>
+     * trueを設定すると Jakarta Commons用のロギングコードを生成します。<br>
      * 
      * @param arg セットしたい値
      */
@@ -369,9 +381,10 @@
     }
 
     /**
-     * Antタスクの[log]アトリビュートのセッターメソッド
-     * 項目番号: 12
-     * 説明: [trueを設定すると Jakarta Commons用のロギングコードを生成します。]のフィールド変数をセットします。
+     * Antタスクの[log]アトリビュートのセッターメソッド<br>
+     * 項目番号: 12<br>
+     * trueを設定すると Jakarta Commons用のロギングコードを生成します。<br>
+     * デフォルト値[false]が設定されています。Apache Antタスク上でアトリビュートの指定が無い場合には、デフォルト値が設定されます。<br>
      * 
      * @return このフィールドの値
      */
@@ -380,7 +393,7 @@
     }
 
     /**
-     * Antタスクのメイン処理
+     * Antタスクのメイン処理。Apache Antから このメソッドが呼び出されます。
      * 
      * @throws BuildException タスクとしての例外が発生した場合。
      */
Index: doc/changelog.txt
===================================================================
RCS file: /storage/Repository/Arch/blancoDbEE/doc/changelog.txt,v
retrieving revision 1.65
diff -u -r1.65 changelog.txt
--- doc/changelog.txt	14 Dec 2005 06:44:47 -0000	1.65
+++ doc/changelog.txt	18 Jan 2006 08:57:04 -0000
@@ -1,3 +1,80 @@
+2006.01.16 (1.4.1) バグフィックスリリース
+  SQL定義IDが「名前変形せずに」クラス名に利用されてしまっている不具合を修正。
+
+2006.01.05 (1.4.0) 1.2.0からの主な変更点を示します。
+  (1)Excel様式を改善しました。「SQL定義書」へと名称が変わりました。
+     ・Excel様式を「SQL定義書」と名前変更し、内容についても見直しを行いました。
+     ・申し訳ありませんが、様式については 1.2.x系(旧バージョン)までとの互換性はありません。
+  (2)ストアドプロシージャ(CallableStatement)への対応を行いました。
+     ・「呼出型」を選択するとストアドプロシージャが利用できます。
+
+  (3)単一表サポート関連
+     ・単一表のSQL文についてダブルクオートエスケープを必要な場合にのみ付与するように変更しました。
+       この対応により MySQL対応が可能となりました。
+       一方で HSQLDBはこの変更により動作しなくなります。
+       ダブルクオートが無いと動作しない HSQLDBの仕様が特殊なものであると判断します。
+     ・単一表アクセスのスクロール方向について見直しを実施しました。
+       デフォルトをインセンシティブとします。
+       プロパティでスクロール方向は変更が可能なようにしました。
+     ・単一表の全行SELECTについて、1.2系では無効化されていましたが、これを復活させました。
+     ・旧バージョンの互換性のために内部的にサポートしていた旧式のTableGatewayサポートを終了しました。
+     ・単一表のテーブルにおいて 表名に$が含まれている場合には、処理をしないように仕様変更しました。
+       これは Oracle10gにおいて、削除テーブルなどが BIN$●●というテーブルとして格納される仕様への対応のためです。
+
+  (4)ロギングへの対応
+     Commons Loggingに対応しました。
+
+  (5)新たなデータベースへの対応
+     Oracle10gで動作確認しました。
+     MySQLで簡単な動作確認をしました。
+
+  (6)エラー時の処理
+     ・主なエラーメッセージをリソースバンドル化しました。
+     ・バインド忘れのパラメータがある場合に例外が発生するように変更しました。
+       また、SQL例外が なるべくそのまま伝わるように改善し、原因が究明しやすいようにしました。
+
+  (7)内部処理の改善
+     ・名前変形の処理を抜本的に見直しました。
+     ・プラグインの進捗バーの表示が不適切であったのを修正しました。
+     ・プラグインのException, ErrorがEclipseのログに適切に出力されるように改善。
+     ・その他、ソースコードの大幅な整理を実施しました。総ステップ数がかなり減りました。
+
+2006.01.05 (1.4.0)
+  仕様安定モードに入ります。
+  この版を出荷候補版と位置づけ、引き続き試験を実施します。
+  不要な改行がSQL文に付与されていた不具合を修正。
+
+2006.01.05 (1.3.19)
+  ※1.4.0リリースに向けて、最後の試験中です。
+  ストアドプロシージャ対応に不備があったので修正。
+  バインド忘れのパラメータがある場合に例外が発生するように修正。
+
+2006.01.05 (1.3.18)
+  ※1.4.0リリースに向けて、最後の試験にかかります。
+  ValueObjectのjarファイルを更新
+  blancoEclipsePluginGenに対応
+  (plugin)【削除】BlancoDbEEPlugin
+  (plugin)【削除】BlancoDbEEDocumentProvider
+  (plugin)【削除】BlancoDbEEPluginUtil
+
+2005.12.21 (1.3.17)
+  単一表の入力パラメータにおいて名前変形が失敗していたのを修正。
+
+2005.12.20 (1.3.16)
+  JDBCからJavaへの型マッピングの処理を少し改善。
+  Antタスクに不具合があったので修正 (SQL定義書の処理が全く動作しなかった)
+
+2005.12.19 (1.3.15)
+  Oracle10gのTIMESTAMP型がJDBC上での扱いが変更されていた。これに暫定対処。
+  具体的には、java.sql.Typesへのマッピングが失敗した時点で、DB上の型名による判定を実施。
+
+2005.12.16 (1.3.14)
+  単一表のテーブルにおいて 表名に$が含まれている場合には、処理をしないように仕様変更。
+  これは Oracle10gにおいて、削除テーブルなどが BIN$●●というテーブルとして格納される仕様への対応のためおこなう。
+
+2005.12.16 (1.3.13)
+  単一表のメタ情報収集中に例外が発生した場合の処理を改善。
+
 2005.12.14 (1.3.12)
   【移動】blancosoap*.jarをlibからlib.antに移動
   blancovalueobject*.jarを追加
Index: doc/todo.txt
===================================================================
RCS file: /storage/Repository/Arch/blancoDbEE/doc/todo.txt,v
retrieving revision 1.12
diff -u -r1.12 todo.txt
--- doc/todo.txt	14 Nov 2005 06:21:23 -0000	1.12
+++ doc/todo.txt	18 Jan 2006 08:57:04 -0000
@@ -1 +1 @@
-setInputParameterの引数が適切にロギングされるように改善すること。
+
Index: meta/db/program/blancoDbProgram.xls
===================================================================
RCS file: /storage/Repository/Arch/blancoDbEE/meta/db/program/blancoDbProgram.xls,v
retrieving revision 1.7
diff -u -r1.7 blancoDbProgram.xls
Binary files /tmp/cvsKPqwzO and blancoDbProgram.xls differ
Index: meta/db/template/blancoDbTemplate.xls
===================================================================
RCS file: /storage/Repository/Arch/blancoDbEE/meta/db/template/blancoDbTemplate.xls,v
retrieving revision 1.8
diff -u -r1.8 blancoDbTemplate.xls
Binary files /tmp/cvsmCU30C and blancoDbTemplate.xls differ
Index: src/main/blanco/db/BlancoDbConstants.java
===================================================================
RCS file: /storage/Repository/Arch/blancoDbEE/src/main/blanco/db/BlancoDbConstants.java,v
retrieving revision 1.20
diff -u -r1.20 BlancoDbConstants.java
--- src/main/blanco/db/BlancoDbConstants.java	13 Dec 2005 06:25:30 -0000	1.20
+++ src/main/blanco/db/BlancoDbConstants.java	18 Jan 2006 08:57:05 -0000
@@ -16,7 +16,7 @@
     /**
      * バージョン番号を示します。
      */
-    public static final String VERSION = "1.3.11";
+    public static final String VERSION = "1.4.0";
 
     /**
      * プロダクト名を示します。
Index: src/main/blanco/db/BlancoDbTableMeta2Xml.java
===================================================================
RCS file: /storage/Repository/Arch/blancoDbEE/src/main/blanco/db/BlancoDbTableMeta2Xml.java,v
retrieving revision 1.16
diff -u -r1.16 BlancoDbTableMeta2Xml.java
--- src/main/blanco/db/BlancoDbTableMeta2Xml.java	29 Nov 2005 05:49:12 -0000	1.16
+++ src/main/blanco/db/BlancoDbTableMeta2Xml.java	18 Jan 2006 08:57:05 -0000
@@ -789,12 +789,12 @@
             } else {
                 sql.append("\n   AND ");
             }
-            sql.append(field.getName() + " = #" + "where" + field.getName());
+            sql.append(field.getName() + " = #" + "where"
+                    + BlancoNameAdjuster.toClassName(field.getName()));
 
             final Element parameter = document.createElement("inparameter");
-            appendElementWithText(document, parameter, "name",
-                    BlancoNameAdjuster.toParameterName("where"
-                            + field.getName()));
+            appendElementWithText(document, parameter, "name", "where"
+                    + BlancoNameAdjuster.toClassName(field.getName()));
             appendElementWithText(document, parameter, "type", field
                     .getTypeFullName());
             parameters.appendChild(parameter);
Index: src/main/blanco/db/collector/BlancoDbCollector.java
===================================================================
RCS file: /storage/Repository/Arch/blancoDbEE/src/main/blanco/db/collector/BlancoDbCollector.java,v
retrieving revision 1.20
diff -u -r1.20 BlancoDbCollector.java
--- src/main/blanco/db/collector/BlancoDbCollector.java	13 Dec 2005 06:00:37 -0000	1.20
+++ src/main/blanco/db/collector/BlancoDbCollector.java	18 Jan 2006 08:57:05 -0000
@@ -562,9 +562,10 @@
                 }
 
                 String query = abstractQuery.getQuery();
-                if (query == null) {
+                if (query == null || query.length() == 0) {
                     query = "";
                 } else {
+                    // 文字列がすでに存在している場合にのみ改行を付与します。
                     query = query + "\n";
                 }
                 abstractQuery.setQuery(query + new String(ch, start, length));
Index: src/main/blanco/db/collector/DatabaseService.java
===================================================================
RCS file: /storage/Repository/Arch/blancoDbEE/src/main/blanco/db/collector/DatabaseService.java,v
retrieving revision 1.10
diff -u -r1.10 DatabaseService.java
--- src/main/blanco/db/collector/DatabaseService.java	9 Nov 2005 06:43:08 -0000	1.10
+++ src/main/blanco/db/collector/DatabaseService.java	18 Jan 2006 08:57:05 -0000
@@ -55,7 +55,14 @@
                     _jdbcSetting.getSchema(), null, null);
             while (resultSet.next()) {
                 if (resultSet.getString("TABLE_TYPE").equals("TABLE")) {
-                    result.add(resultSet.getString("TABLE_NAME"));
+                    final String tableName = resultSet.getString("TABLE_NAME");
+                    if (tableName.indexOf('$') >= 0) {
+                        // 表名に[$]が付いているものは blancoDbでは処理しません。
+                        System.out.println("表[" + tableName
+                                + "]は表名に$が付いているため、処理を行いません。");
+                        continue;
+                    }
+                    result.add(tableName);
                 }
             }
         } finally {
Index: src/main/blanco/db/collector/GatewayCollector.java
===================================================================
RCS file: /storage/Repository/Arch/blancoDbEE/src/main/blanco/db/collector/GatewayCollector.java,v
retrieving revision 1.10
diff -u -r1.10 GatewayCollector.java
--- src/main/blanco/db/collector/GatewayCollector.java	9 Nov 2005 06:43:08 -0000	1.10
+++ src/main/blanco/db/collector/GatewayCollector.java	18 Jan 2006 08:57:05 -0000
@@ -23,7 +23,6 @@
 import blanco.db.definition.FieldFactory;
 import blanco.db.definition.TableField;
 import blanco.db.definition.TableGateway;
-import blanco.db.mapping.BlancoDbMappingUtil;
 
 /**
  * @author Yasuo Nakanishi
@@ -102,14 +101,30 @@
         final String tableName = table.getName();
         ResultSet rs = null;
         try {
-            rs = getDatabaseMetaData().getColumns(catalog, null, tableName,
-                    null);
-            for (; rs.next();) {
-                if (_factory.isSupportedDatabaseType(rs)) {
+            try {
+                rs = getDatabaseMetaData().getColumns(catalog, null, tableName,
+                        null);
+            } catch (SQLException ex) {
+                throw new IllegalArgumentException("単一表[" + tableName
+                        + "]の情報を収集しているときに例外が発生しました。" + ex.toString());
+            }
+
+            try {
+                for (; rs.next();) {
                     listColumns.add(createField(keys, rs));
-                } else {
-                    System.out.println(createMessage(rs));
                 }
+            } catch (SQLException ex) {
+                final String columnName = rs.getString("COLUMN_NAME");
+                final String typeName = rs.getString("TYPE_NAME");
+                throw new IllegalArgumentException("単一表[" + tableName + "]の列["
+                        + columnName + "]の情報を処理しているときにSQL例外が発生しました。"
+                        + "TYPE_NAME(" + typeName + ")" + ex.toString());
+            } catch (IllegalArgumentException ex) {
+                final String columnName = rs.getString("COLUMN_NAME");
+                final String typeName = rs.getString("TYPE_NAME");
+                throw new IllegalArgumentException("単一表[" + tableName + "]の列["
+                        + columnName + "]の情報を処理しているときに入力例外が発生しました。"
+                        + "TYPE_NAME(" + typeName + ")" + ex.toString());
             }
         } finally {
             if (rs != null) {
@@ -124,14 +139,5 @@
         for (int i = 0; i < tables.size(); i++) {
             _metadata.addTable(new Table((String) tables.get(i)));
         }
-    }
-
-    private String createMessage(final ResultSet resultSet) throws SQLException {
-        final StringBuffer sb = new StringBuffer();
-        sb.append("サポート外のタイプ カラム名:");
-        sb.append(resultSet.getString("COLUMN_NAME"));
-        final int type = resultSet.getInt("DATA_TYPE");
-        sb.append(", " + BlancoDbMappingUtil.convertJdbcTypeToString(type));
-        return sb.toString();
     }
 }
Index: src/main/blanco/db/definition/FieldFactory.java
===================================================================
RCS file: /storage/Repository/Arch/blancoDbEE/src/main/blanco/db/definition/FieldFactory.java,v
retrieving revision 1.9
diff -u -r1.9 FieldFactory.java
--- src/main/blanco/db/definition/FieldFactory.java	9 Nov 2005 06:43:07 -0000	1.9
+++ src/main/blanco/db/definition/FieldFactory.java	18 Jan 2006 08:57:05 -0000
@@ -9,275 +9,181 @@
  */
 package blanco.db.definition;
 
-import java.io.InputStream;
 import java.math.BigDecimal;
 import java.sql.ResultSet;
 import java.sql.ResultSetMetaData;
 import java.sql.SQLException;
-import java.util.Date;
 
 import blanco.db.mapping.BlancoDbMappingUtil;
+import blanco.db.resourcebundle.BlancoDbResourceBundle;
 
 /**
- * @author Yasuo Nakanishi
- * @author Tosiki Iga 抜本的に見直しver.1 2005.05.06
+ * JDBCのメタ情報をもとにJavaの型へとマッピングを行います。
+ * 
+ * @author Yasuo Nakanishi 初期バージョンの開発
+ * @author Tosiki Iga 維持メンテナンスを担当
+ * @version 2005.12.20 抜本的に見直しver.2
+ * @version 2005.05.06 抜本的に見直しver.1
  */
 public class FieldFactory {
-
-    public boolean isSupportedDatabaseType(final ResultSet resultSet)
-            throws SQLException {
-        return isSupportedDatabaseType(resultSet.getInt("DATA_TYPE"));
-    }
-
-    public boolean isSupportedDatabaseType(final int type) {
-        boolean result = false;
-
-        switch (type) {
-        case java.sql.Types.CHAR:
-        case java.sql.Types.VARCHAR:
-        case java.sql.Types.LONGVARCHAR:
-        case java.sql.Types.BINARY:
-        case java.sql.Types.DATE:
-        case java.sql.Types.TIMESTAMP:
-        case java.sql.Types.DECIMAL:
-        case java.sql.Types.NUMERIC:
-        case java.sql.Types.REAL:
-        case java.sql.Types.FLOAT:
-        case java.sql.Types.DOUBLE:
-        case java.sql.Types.INTEGER:
-        case java.sql.Types.BIGINT:
-        case java.sql.Types.SMALLINT:
-        case java.sql.Types.TINYINT:
-        case java.sql.Types.BIT:
-        case java.sql.Types.LONGVARBINARY:
-            result = true;
-            break;
-        default:
-            // サポートしていません。
-            break;
-        }
-        return result;
-    }
+    private final BlancoDbResourceBundle bundle = new BlancoDbResourceBundle();
 
     /**
-     * JDBCの型とJavaの型をマッピングする箇所です。 <br>
-     * TODO 将来的に null許容項目と非null項目とで型マップの使い分けなどが必要です。
+     * 単一表の情報をもとに、JDBCの型からJavaの型へとマッピングします。
+     * 
+     * @param resultSet
+     *            単一表の情報のためのレザルトセットです
+     * @return テーブルフィールド情報を戻します
+     * @throws SQLException
+     *             SQL例外が発生した場合
      */
     public TableField createTableField(final ResultSet resultSet)
             throws SQLException {
-        // assert isSupportedDatabaseType(resultSet);
-
         final int type = resultSet.getInt("DATA_TYPE");
         final String name = resultSet.getString("COLUMN_NAME");
+        final String typeName = resultSet.getString("TYPE_NAME");
+        final int isNullable = resultSet.getInt("NULLABLE");
 
-        TableField result = null;
+        Class mappedClass = BlancoDbMappingUtil.mapResultSetMeta2JavaClass(
+                type, isNullable == ResultSetMetaData.columnNoNulls);
 
-        final int isNullable = resultSet.getInt("NULLABLE");
+        // 型が引き当てられなかった場合の処理を行います。
+        if (mappedClass == null) {
+            mappedClass = BlancoDbMappingUtil.mapTypeName2JavaClass(typeName,
+                    isNullable == ResultSetMetaData.columnNoNulls);
+        }
+        if (mappedClass == null) {
+            if (bundle.getTypeMappingFailOnError().equals("true")) {
+                throw new IllegalArgumentException(bundle.getTypeMappingErr001(
+                        new BigDecimal(String.valueOf(type)),
+                        BlancoDbMappingUtil.convertJdbcTypeToString(type)));
+            }
+            return null;
+        }
+
+        final TableField result = new TableField(mappedClass, name);
+        result.setJdbcType(type);
+        result.setSize(resultSet.getInt("COLUMN_SIZE"));
+        result.setNullable(isNullable);
 
         switch (type) {
         case java.sql.Types.CHAR:
         case java.sql.Types.VARCHAR:
-            result = new TableField(String.class, name);
             result.setSize(resultSet.getInt("CHAR_OCTET_LENGTH"));
             break;
         case java.sql.Types.LONGVARCHAR:
-            result = new TableField(java.io.Reader.class, name);
             break;
         case java.sql.Types.DATE:
         case java.sql.Types.TIME:
         case java.sql.Types.TIMESTAMP:
-            // TODO DATEとTIMESTAMPが紋切り型にDateになるのかどうかの考察が必要。
-            result = new TableField(Date.class, name);
             break;
         case java.sql.Types.REAL:
-            if (isNullable == ResultSetMetaData.columnNoNulls) {
-                result = new TableField(float.class, name);
-            } else {
-                result = new TableField(Float.class, name);
-                result.setObjectMappingForPrimitiveNullSupport(true);
-            }
-            break;
         case java.sql.Types.FLOAT:
         case java.sql.Types.DOUBLE:
-            if (isNullable == ResultSetMetaData.columnNoNulls) {
-                result = new TableField(double.class, name);
-            } else {
-                result = new TableField(Double.class, name);
-                result.setObjectMappingForPrimitiveNullSupport(true);
-            }
-            break;
-        case java.sql.Types.DECIMAL:
-        case java.sql.Types.NUMERIC:
-            // DECIMALとNUMERICとの差異は、Sunのマップ表には現れない
-            result = new TableField(BigDecimal.class, name);
-            result.setScale(resultSet.getInt("DECIMAL_DIGITS"));
-            break;
         case java.sql.Types.INTEGER:
-            if (isNullable == ResultSetMetaData.columnNoNulls) {
-                result = new TableField(int.class, name);
-            } else {
-                result = new TableField(Integer.class, name);
-                result.setObjectMappingForPrimitiveNullSupport(true);
-            }
-            break;
         case java.sql.Types.BIGINT:
-            if (isNullable == ResultSetMetaData.columnNoNulls) {
-                result = new TableField(long.class, name);
-            } else {
-                result = new TableField(Long.class, name);
-                result.setObjectMappingForPrimitiveNullSupport(true);
-            }
-            break;
         case java.sql.Types.SMALLINT:
-            if (isNullable == ResultSetMetaData.columnNoNulls) {
-                result = new TableField(short.class, name);
-            } else {
-                result = new TableField(Short.class, name);
-                result.setObjectMappingForPrimitiveNullSupport(true);
-            }
-            break;
         case java.sql.Types.TINYINT:
-            if (isNullable == ResultSetMetaData.columnNoNulls) {
-                result = new TableField(byte.class, name);
-            } else {
-                result = new TableField(Byte.class, name);
-                result.setObjectMappingForPrimitiveNullSupport(true);
-            }
-            break;
         case java.sql.Types.BIT:
             if (isNullable == ResultSetMetaData.columnNoNulls) {
-                result = new TableField(boolean.class, name);
             } else {
-                result = new TableField(Boolean.class, name);
                 result.setObjectMappingForPrimitiveNullSupport(true);
             }
             break;
+        case java.sql.Types.DECIMAL:
+        case java.sql.Types.NUMERIC:
+            // PrecisionのかわりにCOLUMN_SIZEを利用しています。
+            result.setPrecision(resultSet.getInt("COLUMN_SIZE"));
+            result.setScale(resultSet.getInt("DECIMAL_DIGITS"));
+            break;
         case java.sql.Types.BINARY:
         case java.sql.Types.LONGVARBINARY:
-            result = new TableField(InputStream.class, name);
             break;
         default:
-        // assert false : "予期しない値が渡された";
+            break;
         }
-        result.setJdbcType(type);
-        result.setSize(resultSet.getInt("COLUMN_SIZE"));
-
-        result.setNullable(resultSet.getInt("NULLABLE"));
 
         return result;
     }
 
     /**
-     * JDBCの型とJavaの型をマッピングする箇所です。 <br>
-     * TODO 将来的に null許容項目と非null項目とで型マップの使い分けなどが必要です。
+     * SQL文を実行した検索結果の情報をもとに、JDBCの型からJavaの型へとマッピングします。
+     * 
+     * @param index
+     *            フィールドのインディックス番号
+     * @param meta
+     *            メタ情報
+     * @return 導出されたフィールド情報
+     * @throws SQLException
+     *             SQL例外が発生した場合
      */
     public QueryField createQueryField(final int index,
             final ResultSetMetaData meta) throws SQLException {
-        // assert isSupportedDatabaseType(meta.getColumnType(index));
-
         final int type = meta.getColumnType(index);
         final String name = meta.getColumnName(index);
+        final String typeName = meta.getColumnTypeName(index);
+        final int isNullable = meta.isNullable(index);
 
-        QueryField result = null;
+        Class mappedClass = BlancoDbMappingUtil.mapResultSetMeta2JavaClass(
+                type, isNullable == ResultSetMetaData.columnNoNulls);
 
-        final int isNullable = meta.isNullable(index);
+        // 型が引き当てられなかった場合の処理を行います。
+        if (mappedClass == null) {
+            mappedClass = BlancoDbMappingUtil.mapTypeName2JavaClass(typeName,
+                    isNullable == ResultSetMetaData.columnNoNulls);
+        }
+        if (mappedClass == null) {
+            if (bundle.getTypeMappingFailOnError().equals("true")) {
+                throw new IllegalArgumentException(bundle.getTypeMappingErr001(
+                        new BigDecimal(String.valueOf(type)),
+                        BlancoDbMappingUtil.convertJdbcTypeToString(type)));
+            }
+            return null;
+        }
+
+        final QueryField result = new QueryField(mappedClass, name);
+        result.setJdbcType(type);
+        result.setSize(meta.getColumnDisplaySize(index));
+        result.setNullable(isNullable);
+        result.setReadOnly(meta.isReadOnly(index));
+        result.setWritable(meta.isWritable(index));
+        result.setDefinitelyWritable(meta.isDefinitelyWritable(index));
 
         switch (type) {
         case java.sql.Types.CHAR:
         case java.sql.Types.VARCHAR:
-            result = new QueryField(String.class, name);
+            // 単一テーブルと異なり、文字数の取得パスが存在しません。
             break;
         case java.sql.Types.LONGVARCHAR:
-            result = new QueryField(java.io.Reader.class, name);
             break;
         case java.sql.Types.DATE:
         case java.sql.Types.TIME:
         case java.sql.Types.TIMESTAMP:
-            // TODO DATEとTIMESTAMPが紋切り型にDateになるのかどうかの考察が必要。
-            result = new QueryField(Date.class, name);
             break;
         case java.sql.Types.REAL:
-            if (isNullable == ResultSetMetaData.columnNoNulls) {
-                result = new QueryField(float.class, name);
-            } else {
-                result = new QueryField(Float.class, name);
-            }
-            break;
         case java.sql.Types.FLOAT:
         case java.sql.Types.DOUBLE:
-            if (isNullable == ResultSetMetaData.columnNoNulls) {
-                result = new QueryField(double.class, name);
-            } else {
-                result = new QueryField(Double.class, name);
-            }
-            break;
-        case java.sql.Types.DECIMAL:
-        case java.sql.Types.NUMERIC:
-            // DECIMALとNUMERICとの差異は、Sunのマップ表には現れない
-            result = new QueryField(BigDecimal.class, name);
-            result.setPrecision(meta.getPrecision(index));
-            result.setScale(meta.getScale(index));
-            break;
         case java.sql.Types.INTEGER:
-            if (isNullable == ResultSetMetaData.columnNoNulls) {
-                result = new QueryField(int.class, name);
-            } else {
-                result = new QueryField(Integer.class, name);
-                result.setObjectMappingForPrimitiveNullSupport(true);
-            }
-            break;
         case java.sql.Types.BIGINT:
-            if (isNullable == ResultSetMetaData.columnNoNulls) {
-                result = new QueryField(long.class, name);
-            } else {
-                result = new QueryField(Long.class, name);
-                result.setObjectMappingForPrimitiveNullSupport(true);
-            }
-            break;
         case java.sql.Types.SMALLINT:
-            if (isNullable == ResultSetMetaData.columnNoNulls) {
-                result = new QueryField(short.class, name);
-            } else {
-                result = new QueryField(Short.class, name);
-                result.setObjectMappingForPrimitiveNullSupport(true);
-            }
-            break;
         case java.sql.Types.TINYINT:
-            if (isNullable == ResultSetMetaData.columnNoNulls) {
-                result = new QueryField(byte.class, name);
-            } else {
-                result = new QueryField(Byte.class, name);
-                result.setObjectMappingForPrimitiveNullSupport(true);
-            }
-            break;
         case java.sql.Types.BIT:
             if (isNullable == ResultSetMetaData.columnNoNulls) {
-                result = new QueryField(boolean.class, name);
             } else {
-                result = new QueryField(Boolean.class, name);
                 result.setObjectMappingForPrimitiveNullSupport(true);
             }
             break;
+        case java.sql.Types.DECIMAL:
+        case java.sql.Types.NUMERIC:
+            result.setPrecision(meta.getPrecision(index));
+            result.setScale(meta.getScale(index));
+            break;
         case java.sql.Types.BINARY:
         case java.sql.Types.LONGVARBINARY:
-            result = new QueryField(InputStream.class, name);
             break;
         default:
-            System.out.println("型チェック: サポートしていない型が与えられました: "
-                    + BlancoDbMappingUtil.convertJdbcTypeToString(type));
-            // assert false : "予期しない値が渡された";
             break;
         }
-        result.setJdbcType(type);
-
-        // 各種メタ情報を記憶します。
-        // 2005.05.01 tosiki iga
-        result.setNullable(isNullable);
-        result.setReadOnly(meta.isReadOnly(index));
-        result.setWritable(meta.isWritable(index));
-        result.setDefinitelyWritable(meta.isDefinitelyWritable(index));
-
-        result.setSize(meta.getColumnDisplaySize(index));
 
         return result;
     }
Index: src/main/blanco/db/expander/query/caller/ExecuteMethod.java
===================================================================
RCS file: /storage/Repository/Arch/blancoDbEE/src/main/blanco/db/expander/query/caller/ExecuteMethod.java,v
retrieving revision 1.3
diff -u -r1.3 ExecuteMethod.java
--- src/main/blanco/db/expander/query/caller/ExecuteMethod.java	9 Nov 2005 06:43:08 -0000	1.3
+++ src/main/blanco/db/expander/query/caller/ExecuteMethod.java	18 Jan 2006 08:57:05 -0000
@@ -39,6 +39,11 @@
             getData().addLine("");
         }
 
+        getData().addLine("if (fStatement == null) {");
+        getData().addLine("prepareCall();");
+        getData().addLine("}");
+        getData().addLine("");
+
         getData().addLine("// executeメソッドの実行結果については扱わないこととします。");
         getData().addLine("fStatement.execute();");
     }
Index: src/main/blanco/db/expander/query/caller/GetCallerOutputParameterMethod.java
===================================================================
RCS file: /storage/Repository/Arch/blancoDbEE/src/main/blanco/db/expander/query/caller/GetCallerOutputParameterMethod.java,v
retrieving revision 1.7
diff -u -r1.7 GetCallerOutputParameterMethod.java
--- src/main/blanco/db/expander/query/caller/GetCallerOutputParameterMethod.java	14 Nov 2005 06:22:00 -0000	1.7
+++ src/main/blanco/db/expander/query/caller/GetCallerOutputParameterMethod.java	18 Jan 2006 08:57:05 -0000
@@ -10,9 +10,9 @@
 package blanco.db.expander.query.caller;
 
 import java.sql.SQLException;
-import java.sql.Timestamp;
-import java.util.Iterator;
 
+import blanco.commons.util.BlancoJavaSourceUtil;
+import blanco.commons.util.BlancoNameAdjuster;
 import blanco.db.definition.QueryCaller;
 import blanco.db.mapping.BlancoDbMappingUtil;
 import blanco.db.util.BlancoDbObjectStorage;
@@ -30,24 +30,26 @@
 
     private QueryCaller _caller = null;
 
+    private Value val = null;
+
     public GetCallerOutputParameterMethod(final BlancoDbObjectStorage storage,
-            final QueryCaller caller) {
-        super("getOutputParameter");
-        _caller = caller;
+            final QueryCaller caller, final Value val) {
+        super("get" + BlancoNameAdjuster.toClassName(val.getName()));
+        this._caller = caller;
         this.storage = storage;
+        this.val = val;
     }
 
     public void setupSignature() {
-        addException(SQLException.class);
-
         getJavaDoc().addLine("ストアドプロシージャの実行結果の出力パラメータを取得します。");
-        getJavaDoc().addLine("※ストアドプロシージャの実行結果として戻すことができるのは値ひとつだけです。");
-
-        final Iterator ite = _caller.getOutParameterIterator();
-        while (ite.hasNext()) {
-            final Value val = (Value) ite.next();
-            setReturnType(val.getType());
-        }
+        getJavaDoc().addException(new Type("java.sql.SQLException"),
+                "SQL例外が発生した場合。");
+        addException(SQLException.class);
+        getJavaDoc().addReturn(
+                "ストアドプロシージャの["
+                        + BlancoJavaSourceUtil.escapeStringAsJavaDoc(val
+                                .getName()) + "]出力");
+        setReturnType(val.getType());
     }
 
     public void implement() {
@@ -65,45 +67,40 @@
         final BlancoDbQueryParserUtil query = new BlancoDbQueryParserUtil(
                 _caller.getQuery());
 
-        final Iterator ite = _caller.getOutParameterIterator();
-        while (ite.hasNext()) {
-            // TODO: SQL文からパラメータを発見しなくてはなりません。
-            // 現状、とりあえず与えられた順序で登場と仮定が加わっています。
-            final Value val = (Value) ite.next();
-
-            final int[] listCol = query.getSqlParameters(val.getName());
-            if (listCol == null) {
-                System.out.println("[" + _caller.getName() + "]の SQL出力パラメータ["
-                        + val.getName() + "]が結びついていません.");
-                continue;
+        final int[] listCol = query.getSqlParameters(val.getName());
+        if (listCol == null) {
+            throw new IllegalArgumentException("SQL定義ID[" + _caller.getName()
+                    + "]の SQL出力パラメータ[" + val.getName() + "]が結びついていません.");
+        }
+        for (int iteSame = 0; iteSame < listCol.length; iteSame++) {
+            final int index = listCol[iteSame];
+            final String type = BlancoDbMappingUtil
+                    .getResultSetGetterMethodName(val.getType().getName());
+            if (val.getType().getName().equals("Date")) {
+                // 値を取得する際には BlancoDbUtilが必要です。
+                implementor.addUsingType(new Type(storage.getSetting()
+                        .getRootNameSpace()
+                        + ".util.BlancoDbUtil"));
             }
-            for (int iteSame = 0; iteSame < listCol.length; iteSame++) {
-                final int index = listCol[iteSame];
-                final String type = BlancoDbMappingUtil
-                        .getResultSetGetterMethodName(val.getType().getName());
-                if (val.getType().getName().equals("Date")) {
-                    implementor.addUsingType(new Type(Timestamp.class));
-                }
-
-                if (BlancoDbMappingUtil.isMapWrapperClassNecessity(val
-                        .getType().getName())) {
-                    getData().addLine(
-                            val.getType().getName()
-                                    + " wrk = "
-                                    + BlancoDbMappingUtil
-                                            .mapWrapperClassForPrimitive(
-                                                    "fStatement." + type + "("
-                                                            + index + ")", val
-                                                            .getType()
-                                                            .getName()) + ";");
-                    getData().addLine("if (fStatement.wasNull()) {");
-                    getData().addLine("return null;");
-                    getData().addLine("}");
-                    getData().addLine("return wrk;");
-                } else {
-                    getData().addLine(
-                            "return fStatement." + type + "(" + index + ");");
-                }
+
+            if (BlancoDbMappingUtil.isMapWrapperClassNecessity(val.getType()
+                    .getName())) {
+                getData().addLine(
+                        val.getType().getName()
+                                + " wrk = "
+                                + BlancoDbMappingUtil
+                                        .mapWrapperClassForPrimitive(
+                                                "fStatement." + type + "("
+                                                        + index + ")", val
+                                                        .getType().getName())
+                                + ";");
+                getData().addLine("if (fStatement.wasNull()) {");
+                getData().addLine("return null;");
+                getData().addLine("}");
+                getData().addLine("return wrk;");
+            } else {
+                getData().addLine(
+                        "return fStatement." + type + "(" + index + ");");
             }
         }
     }
Index: src/main/blanco/db/expander/query/caller/PrepareCallMethod2.java
===================================================================
RCS file: /storage/Repository/Arch/blancoDbEE/src/main/blanco/db/expander/query/caller/PrepareCallMethod2.java,v
retrieving revision 1.8
diff -u -r1.8 PrepareCallMethod2.java
--- src/main/blanco/db/expander/query/caller/PrepareCallMethod2.java	14 Nov 2005 06:22:00 -0000	1.8
+++ src/main/blanco/db/expander/query/caller/PrepareCallMethod2.java	18 Jan 2006 08:57:05 -0000
@@ -10,14 +10,12 @@
 package blanco.db.expander.query.caller;
 
 import java.sql.SQLException;
-import java.sql.Timestamp;
 import java.util.Iterator;
 
 import blanco.db.definition.QueryCaller;
 import blanco.db.mapping.BlancoDbMappingUtil;
 import blanco.db.util.BlancoDbObjectStorage;
 import blanco.db.util.BlancoDbQueryParserUtil;
-import blanco.ig.expander.Type;
 import blanco.ig.expander.Value;
 import blanco.ig.expander.implementor.Implementor;
 import blanco.ig.expander.method.MethodExpander;
@@ -85,10 +83,6 @@
             }
             for (int iteSame = 0; iteSame < listCol.length; iteSame++) {
                 final int index = listCol[iteSame];
-
-                if (val.getType().getName().equals("Date")) {
-                    implementor.addUsingType(new Type(Timestamp.class));
-                }
 
                 String stmtLine = "fStatement.registerOutParameter("
                         + index
Index: src/main/blanco/db/expander/query/caller/QueryCallerClass.java
===================================================================
RCS file: /storage/Repository/Arch/blancoDbEE/src/main/blanco/db/expander/query/caller/QueryCallerClass.java,v
retrieving revision 1.16
diff -u -r1.16 QueryCallerClass.java
--- src/main/blanco/db/expander/query/caller/QueryCallerClass.java	13 Dec 2005 06:16:25 -0000	1.16
+++ src/main/blanco/db/expander/query/caller/QueryCallerClass.java	18 Jan 2006 08:57:05 -0000
@@ -11,6 +11,7 @@
 
 import java.sql.CallableStatement;
 import java.sql.Connection;
+import java.util.Iterator;
 
 import blanco.db.definition.QueryCaller;
 import blanco.db.expander.query.Finalize;
@@ -19,6 +20,7 @@
 import blanco.db.util.BlancoDbObjectStorage;
 import blanco.ig.expander.ClassExpander;
 import blanco.ig.expander.Type;
+import blanco.ig.expander.Value;
 import blanco.ig.expander.field.FieldExpander;
 import blanco.ig.expander.implementor.Statement;
 
@@ -74,7 +76,12 @@
         addMethod(new SetCallerInputParameterMethod(storage, _caller));
 
         addMethod(new ExecuteMethod(storage));
-        addMethod(new GetCallerOutputParameterMethod(storage, _caller));
+
+        final Iterator ite = _caller.getOutParameterIterator();
+        while (ite.hasNext()) {
+            final Value val = (Value) ite.next();
+            addMethod(new GetCallerOutputParameterMethod(storage, _caller, val));
+        }
 
         addMethod(new CloseMethod(storage));
 
Index: src/main/blanco/db/expander/query/caller/SetCallerInputParameterMethod.java
===================================================================
RCS file: /storage/Repository/Arch/blancoDbEE/src/main/blanco/db/expander/query/caller/SetCallerInputParameterMethod.java,v
retrieving revision 1.5
diff -u -r1.5 SetCallerInputParameterMethod.java
--- src/main/blanco/db/expander/query/caller/SetCallerInputParameterMethod.java	14 Nov 2005 06:22:00 -0000	1.5
+++ src/main/blanco/db/expander/query/caller/SetCallerInputParameterMethod.java	18 Jan 2006 08:57:05 -0000
@@ -10,7 +10,6 @@
 package blanco.db.expander.query.caller;
 
 import java.sql.SQLException;
-import java.sql.Timestamp;
 import java.util.Iterator;
 
 import blanco.db.definition.QueryCaller;
@@ -110,9 +109,9 @@
 
             int[] listCol = query.getSqlParameters(val.getName());
             if (listCol == null) {
-                System.out.println("[" + _caller.getName() + "]の SQL入力パラメータ["
-                        + val.getName() + "]が結びついていません.");
-                continue;
+                throw new IllegalArgumentException("SQL定義ID["
+                        + _caller.getName() + "]の SQL入力パラメータ[" + val.getName()
+                        + "]が結びついていません.");
             }
             for (int iteSame = 0; iteSame < listCol.length; iteSame++) {
                 int index = listCol[iteSame];
@@ -131,7 +130,8 @@
                         .getPreparedStatementSetterMethodName(val.getType()
                                 .getName());
                 if (val.getType().getName().equals("Date")) {
-                    implementor.addUsingType(new Type(Timestamp.class));
+                    // BlancoDbMappingUtil.mapWrapperClassIntoPrimitiveメソッドでTimestamp型が必要です。
+                    implementor.addUsingType(new Type("java.sql.Timestamp"));
                 }
 
                 String stmtLine = "fStatement."
Index: src/main/blanco/db/expander/query/invoker/SetInvokerInputParameterMethod.java
===================================================================
RCS file: /storage/Repository/Arch/blancoDbEE/src/main/blanco/db/expander/query/invoker/SetInvokerInputParameterMethod.java,v
retrieving revision 1.20
diff -u -r1.20 SetInvokerInputParameterMethod.java
--- src/main/blanco/db/expander/query/invoker/SetInvokerInputParameterMethod.java	14 Nov 2005 06:22:00 -0000	1.20
+++ src/main/blanco/db/expander/query/invoker/SetInvokerInputParameterMethod.java	18 Jan 2006 08:57:05 -0000
@@ -10,7 +10,6 @@
 package blanco.db.expander.query.invoker;
 
 import java.sql.SQLException;
-import java.sql.Timestamp;
 import java.util.Iterator;
 
 import blanco.db.definition.QueryInvoker;
@@ -111,9 +110,9 @@
 
             final int[] listCol = query.getSqlParameters(val.getName());
             if (listCol == null) {
-                System.out.println("[" + _invoker.getName() + "]の SQL入力パラメータ["
-                        + val.getName() + "]が結びついていません.");
-                continue;
+                throw new IllegalArgumentException("SQL定義ID["
+                        + _invoker.getName() + "]の SQL入力パラメータ[" + val.getName()
+                        + "]が結びついていません.");
             }
             for (int iteSame = 0; iteSame < listCol.length; iteSame++) {
                 final int index = listCol[iteSame];
@@ -132,7 +131,8 @@
                         .getPreparedStatementSetterMethodName(val.getType()
                                 .getName());
                 if (val.getType().getName().equals("Date")) {
-                    implementor.addUsingType(new Type(Timestamp.class));
+                    // BlancoDbMappingUtil.mapWrapperClassIntoPrimitiveメソッドでTimestamp型が必要です。
+                    implementor.addUsingType(new Type("java.sql.Timestamp"));
                 }
 
                 String stmtLine = "fStatement."
Index: src/main/blanco/db/expander/query/iterator/GetRowMethod.java
===================================================================
RCS file: /storage/Repository/Arch/blancoDbEE/src/main/blanco/db/expander/query/iterator/GetRowMethod.java,v
retrieving revision 1.18
diff -u -r1.18 GetRowMethod.java
--- src/main/blanco/db/expander/query/iterator/GetRowMethod.java	16 Nov 2005 03:08:12 -0000	1.18
+++ src/main/blanco/db/expander/query/iterator/GetRowMethod.java	18 Jan 2006 08:57:05 -0000
@@ -70,6 +70,7 @@
             field = (QueryField) fieldIterator.next();
 
             if (field.getTypeName().equals("Date")) {
+                // 値を取得する際には BlancoDbUtilが必要です。
                 implementor.addUsingType(new Type(storage.getSetting()
                         .getRootNameSpace()
                         + ".util.BlancoDbUtil"));
Index: src/main/blanco/db/expander/query/iterator/QueryIteratorClass.java
===================================================================
RCS file: /storage/Repository/Arch/blancoDbEE/src/main/blanco/db/expander/query/iterator/QueryIteratorClass.java,v
retrieving revision 1.21
diff -u -r1.21 QueryIteratorClass.java
--- src/main/blanco/db/expander/query/iterator/QueryIteratorClass.java	13 Dec 2005 06:16:25 -0000	1.21
+++ src/main/blanco/db/expander/query/iterator/QueryIteratorClass.java	18 Jan 2006 08:57:05 -0000
@@ -83,7 +83,8 @@
         }
 
         final Type _type = new Type(storage.getSetting().getRootNameSpace()
-                + ".query", _iterator.getName() + "Iterator");
+                + ".query", BlancoNameAdjuster.toClassName(_iterator.getName())
+                + "Iterator");
 
         addMethod(new QueryConstructor(_type));
 
@@ -119,8 +120,8 @@
 
         final Type rowObjectType = new Type(storage.getSetting()
                 .getRootNameSpace()
-                + ".row", BlancoNameAdjuster.toClassName(_iterator.getName()
-                + "Row"));
+                + ".row", BlancoNameAdjuster.toClassName(_iterator.getName())
+                + "Row");
 
         addMethod(new GetRowMethod(storage, rowObjectType, _iterator));
 
Index: src/main/blanco/db/expander/query/iterator/SetInputParameterMethod.java
===================================================================
RCS file: /storage/Repository/Arch/blancoDbEE/src/main/blanco/db/expander/query/iterator/SetInputParameterMethod.java,v
retrieving revision 1.20
diff -u -r1.20 SetInputParameterMethod.java
--- src/main/blanco/db/expander/query/iterator/SetInputParameterMethod.java	14 Nov 2005 06:22:00 -0000	1.20
+++ src/main/blanco/db/expander/query/iterator/SetInputParameterMethod.java	18 Jan 2006 08:57:05 -0000
@@ -10,7 +10,6 @@
 package blanco.db.expander.query.iterator;
 
 import java.sql.SQLException;
-import java.sql.Timestamp;
 import java.util.Iterator;
 
 import blanco.db.definition.QueryIterator;
@@ -111,9 +110,9 @@
 
             final int[] listCol = query.getSqlParameters(val.getName());
             if (listCol == null) {
-                System.out.println("[" + _iterator.getName() + "]の SQL入力パラメータ["
+                throw new IllegalArgumentException("SQL定義ID["
+                        + _iterator.getName() + "]の SQL入力パラメータ["
                         + val.getName() + "]が結びついていません.");
-                continue;
             }
             for (int iteSame = 0; iteSame < listCol.length; iteSame++) {
                 final int index = listCol[iteSame];
@@ -132,7 +131,8 @@
                         .getPreparedStatementSetterMethodName(val.getType()
                                 .getName());
                 if (val.getType().getName().equals("Date")) {
-                    implementor.addUsingType(new Type(Timestamp.class));
+                    // BlancoDbMappingUtil.mapWrapperClassIntoPrimitiveメソッドでTimestamp型が必要です。
+                    implementor.addUsingType(new Type("java.sql.Timestamp"));
                 }
 
                 String stmtLine = "fStatement."
Index: src/main/blanco/db/expander/query/iterator/UpdateObjectMethod.java
===================================================================
RCS file: /storage/Repository/Arch/blancoDbEE/src/main/blanco/db/expander/query/iterator/UpdateObjectMethod.java,v
retrieving revision 1.19
diff -u -r1.19 UpdateObjectMethod.java
--- src/main/blanco/db/expander/query/iterator/UpdateObjectMethod.java	14 Nov 2005 06:22:00 -0000	1.19
+++ src/main/blanco/db/expander/query/iterator/UpdateObjectMethod.java	18 Jan 2006 08:57:05 -0000
@@ -98,7 +98,8 @@
                         .getTypeName()));
 
         if (_field.getTypeName().equals("Date")) {
-            c.addUsingType(new Type(java.sql.Timestamp.class));
+            // BlancoDbMappingUtil.mapWrapperClassIntoPrimitiveメソッドでTimestamp型が必要です。
+            c.addUsingType(new Type("java.sql.Timestamp"));
         }
 
         if (_field.getTypeName().equals("InputStream")
Index: src/main/blanco/db/generator/BlancoDbGenerator.java
===================================================================
RCS file: /storage/Repository/Arch/blancoDbEE/src/main/blanco/db/generator/BlancoDbGenerator.java,v
retrieving revision 1.20
diff -u -r1.20 BlancoDbGenerator.java
--- src/main/blanco/db/generator/BlancoDbGenerator.java	14 Nov 2005 06:22:00 -0000	1.20
+++ src/main/blanco/db/generator/BlancoDbGenerator.java	18 Jan 2006 08:57:05 -0000
@@ -122,8 +122,9 @@
             createRowObjectClass(queryIterator, rootPackage, outputDirectory);
             _generator.addMain(new QueryIteratorClass(storage, new Type(storage
                     .getSetting().getRootNameSpace()
-                    + ".query", queryIterator.getName() + "Iterator"),
-                    queryIterator));
+                    + ".query", BlancoNameAdjuster.toClassName(queryIterator
+                    .getName())
+                    + "Iterator"), queryIterator));
 
         }
     }
@@ -134,7 +135,9 @@
             final QueryInvoker invoker = (QueryInvoker) iterator.next();
             _generator.addMain(new QueryInvokerClass(storage, new Type(storage
                     .getSetting().getRootNameSpace()
-                    + ".query", invoker.getName() + "Invoker"), invoker));
+                    + ".query", BlancoNameAdjuster.toClassName(invoker
+                    .getName())
+                    + "Invoker"), invoker));
         }
     }
 
@@ -143,22 +146,23 @@
         final Iterator iterator = definition.getQueryCallerIterator();
         while (iterator.hasNext()) {
             final QueryCaller queryCaller = (QueryCaller) iterator.next();
-            _generator
-                    .addMain(new QueryCallerClass(storage, new Type(storage
-                            .getSetting().getRootNameSpace()
-                            + ".query", queryCaller.getName() + "Caller"),
-                            queryCaller));
+            _generator.addMain(new QueryCallerClass(storage, new Type(storage
+                    .getSetting().getRootNameSpace()
+                    + ".query", BlancoNameAdjuster.toClassName(queryCaller
+                    .getName())
+                    + "Caller"), queryCaller));
         }
     }
 
     private void createRowObjectClass(final QueryIterator queryIterator,
             final String rootPackage, final File outputDirectory)
             throws SAXException, IOException, TransformerException {
-        final String typeName = queryIterator.getName() + "Row";
+        final String typeName = BlancoNameAdjuster.toClassName(queryIterator
+                .getName())
+                + "Row";
         // Queryの場合には、クラス名への変形を実施しておく必要があります。
-        createRowObjectClass(BlancoNameAdjuster.toClassName(typeName),
-                rootPackage + ".row", queryIterator.getFieldIterator(),
-                outputDirectory);
+        createRowObjectClass(typeName, rootPackage + ".row", queryIterator
+                .getFieldIterator(), outputDirectory);
     }
 
     private void createRowObjectClass(final String className,
@@ -197,31 +201,28 @@
             BlancoValueObjectSerializer serializer = new BlancoValueObjectSerializer(
                     outStream);
             serializer.startDocument();
-            serializer.startElementBlanco("0.1.0");
+            serializer.startElementWorkbook();
+            serializer.characters("\n");
+            serializer.startElementSheet("ValueObject");
             serializer.characters("\n");
             serializer.characters("  ");
-            serializer.startElementTarget("blancoValueObject");
+            serializer.startElementBlancovalueobjectCommon();
             serializer.characters("\n");
             serializer.characters("    ");
-            serializer.startElementBlancovalueobject(className, packageName);
+            serializer.startElementName();
+            // 名前
+            serializer.characters(className);
+            serializer.endElementName();
             serializer.characters("\n");
-            serializer.characters("      ");
-            serializer.startElementFile();
-            serializer.characters("\n");
-            serializer.characters("        ");
-            serializer.startElementComment();
-            serializer.characters("'" + className + "'行を表現する行クラス。\n");
-            serializer.endElementComment();
-            serializer.characters("\n");
-            serializer.characters("      ");
-            serializer.endElementFile();
-            serializer.characters("\n");
-            serializer.characters("      ");
-            serializer.startElementClass();
+            serializer.characters("    ");
+            serializer.startElementPackage();
+            serializer.characters(packageName);
+            serializer.endElementPackage();
             serializer.characters("\n");
-            serializer.characters("        ");
-            serializer.startElementJavadoc();
-            serializer.characters("'" + className + "'行を表現する行クラス。\n");
+            serializer.characters("    ");
+            serializer.startElementDescription();
+            serializer.characters("SQL定義書(blancoDb)から作成された行クラス。\n");
+            serializer.characters("'" + className + "'行を表現します。\n");
             for (int index = 0; index < listFieldTypes.size(); index++) {
                 String[] fieldTypes = (String[]) listFieldTypes.get(index);
                 String fieldName = fieldTypes[0];
@@ -230,11 +231,19 @@
                 serializer.characters("(" + String.valueOf(index + 1) + ") '"
                         + fieldName + "'列 型:" + fieldType + "\n");
             }
-            serializer.endElementJavadoc();
+            serializer.endElementDescription();
+            serializer.characters("\n");
+            serializer.characters("    ");
+            serializer.startElementFileDescription();
+            serializer.characters("'" + className + "'行を表現する行クラス。\n");
+
+            serializer.endElementFileDescription();
             serializer.characters("\n");
-            serializer.characters("      ");
-            serializer.endElementClass();
+            serializer.characters("  ");
+            serializer.endElementBlancovalueobjectCommon();
             serializer.characters("\n");
+            serializer.characters("  ");
+            serializer.startElementBlancovalueobjectList();
             serializer.characters("\n");
 
             for (int index = 0; index < listFieldTypes.size(); index++) {
@@ -242,27 +251,39 @@
                 String fieldName = fieldTypes[0];
                 String fieldType = fieldTypes[1];
 
+                serializer.characters("    ");
+                serializer.startElementField();
+                serializer.characters("\n");
                 serializer.characters("      ");
-                serializer.startElementField(fieldName, fieldType);
                 serializer.characters("\n");
-                serializer.characters("        ");
-                serializer.startElementJavadoc();
-                serializer.characters("フィールド[" + fieldName + "]です。");
-                serializer.endElementJavadoc();
+                serializer.characters("      ");
+                serializer.startElementName();
+                serializer.characters(fieldName);
+                serializer.endElementName();
+                serializer.characters("\n");
+                serializer.characters("      ");
+                serializer.startElementType();
+                serializer.characters(fieldType);
+                serializer.endElementType();
                 serializer.characters("\n");
 
                 serializer.characters("      ");
+                serializer.startElementDescription();
+                serializer.characters("フィールド[" + fieldName + "]です。");
+                serializer.endElementDescription();
+                serializer.characters("\n");
+
+                serializer.characters("    ");
                 serializer.endElementField();
                 serializer.characters("\n");
             }
 
-            serializer.characters("    ");
-            serializer.endElementBlancovalueobject();
-            serializer.characters("\n");
             serializer.characters("  ");
-            serializer.endElementTarget();
+            serializer.endElementBlancovalueobjectList();
+            serializer.characters("\n");
+            serializer.endElementSheet();
             serializer.characters("\n");
-            serializer.endElementBlanco();
+            serializer.endElementWorkbook();
             serializer.endDocument();
             try {
                 outStream.flush();
Index: src/main/blanco/db/mapping/BlancoDbMappingUtil.java
===================================================================
RCS file: /storage/Repository/Arch/blancoDbEE/src/main/blanco/db/mapping/BlancoDbMappingUtil.java,v
retrieving revision 1.9
diff -u -r1.9 BlancoDbMappingUtil.java
--- src/main/blanco/db/mapping/BlancoDbMappingUtil.java	14 Nov 2005 06:22:00 -0000	1.9
+++ src/main/blanco/db/mapping/BlancoDbMappingUtil.java	18 Jan 2006 08:57:05 -0000
@@ -10,13 +10,16 @@
 
 import java.io.ByteArrayInputStream;
 import java.io.CharArrayReader;
+import java.io.InputStream;
 import java.math.BigDecimal;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
 import java.sql.Timestamp;
 import java.sql.Types;
+import java.util.Date;
 
 public final class BlancoDbMappingUtil {
+
     /**
      * Java型名をきっかけに、ResultSetに対するゲッターメソッド名を取得します。
      * 
@@ -67,7 +70,11 @@
             setAccessorName = "getBinaryStream";
         } else if (javaTypeName.equals("Reader")) {
             setAccessorName = "getCharacterStream";
+        } else {
+            throw new IllegalArgumentException("ゲッターを取得する処理で、型[" + javaTypeName
+                    + "]に対応するゲッターの解析に失敗しました。");
         }
+
         return setAccessorName;
     }
 
@@ -121,7 +128,11 @@
             setAccessorName = "setBinaryStream";
         } else if (javaTypeName.equals("Reader")) {
             setAccessorName = "setCharacterStream";
+        } else {
+            throw new IllegalArgumentException("セッターを取得する処理で、型[" + javaTypeName
+                    + "]に対応するセッターの解析に失敗しました。");
         }
+
         return setAccessorName;
     }
 
@@ -180,7 +191,8 @@
             stmt.setCharacterStream(columnId, new CharArrayReader(dummy),
                     dummy.length);
         } else {
-            System.out.println("該当するセッターが見つかりませんでした。");
+            throw new IllegalArgumentException("ダミー値をバインドする処理において、型["
+                    + javaTypeName + "]に対応するセッターの解析に失敗しました。");
         }
     }
 
@@ -225,6 +237,9 @@
             setAccessorName = "updateBinaryStream";
         } else if (javaTypeName.equals("Reader")) {
             setAccessorName = "updateCharacterStream";
+        } else {
+            throw new IllegalArgumentException("updateメソッドにおけるメソッド名確定処理において、型["
+                    + javaTypeName + "]に対応するupdateメソッドの解析に失敗しました。");
         }
         return setAccessorName;
     }
@@ -433,6 +448,115 @@
         } else {
             System.out.println("JDBCタイプ[" + javaFullType + "]は未サポートです.");
             return "java.sql.Types.OTHER";
+        }
+    }
+
+    /**
+     * java.sql.ResultSetMetaDataのタイプおよびnullの有無から Java上のクラスをマッピングします。
+     * 
+     * ※実際にJDBC型からJavaクラスへとマッピングを行っている、blancoDbの中で重要な処理です。
+     * 
+     * @param dataType
+     *            ResultSetMetaData.getColumnType()または
+     *            resultSet.getInt("DATA_TYPE")で得られる値
+     * @param isColumnNoNulls
+     *            非NULL制約があるかどうか。ResultSetMetaData.isNullable()または
+     *            resultSet.getInt("NULLABLE")で得られる値
+     * @return 導き出されたJavaの型。導き出せなかった場合にはnullが戻ります。
+     */
+    public static final Class mapResultSetMeta2JavaClass(final int dataType,
+            final boolean isColumnNoNulls) {
+        switch (dataType) {
+        case java.sql.Types.CHAR:
+        case java.sql.Types.VARCHAR:
+            return String.class;
+        case java.sql.Types.LONGVARCHAR:
+            return java.io.Reader.class;
+        case java.sql.Types.DATE:
+        case java.sql.Types.TIME:
+        case java.sql.Types.TIMESTAMP:
+            return Date.class;
+        case java.sql.Types.REAL:
+            if (isColumnNoNulls) {
+                return float.class;
+            } else {
+                return Float.class;
+            }
+        case java.sql.Types.FLOAT:
+        case java.sql.Types.DOUBLE:
+            if (isColumnNoNulls) {
+                return double.class;
+            } else {
+                return Double.class;
+            }
+        case java.sql.Types.DECIMAL:
+        case java.sql.Types.NUMERIC:
+            // DECIMALとNUMERICとの差異は、Sunのマップ表には現れない
+            return BigDecimal.class;
+        case java.sql.Types.INTEGER:
+            if (isColumnNoNulls) {
+                return int.class;
+            } else {
+                return Integer.class;
+            }
+        case java.sql.Types.BIGINT:
+            if (isColumnNoNulls) {
+                return long.class;
+            } else {
+                return Long.class;
+            }
+        case java.sql.Types.SMALLINT:
+            if (isColumnNoNulls) {
+                return short.class;
+            } else {
+                return Short.class;
+            }
+        case java.sql.Types.TINYINT:
+            if (isColumnNoNulls) {
+                return byte.class;
+            } else {
+                return Byte.class;
+            }
+        case java.sql.Types.BIT:
+            if (isColumnNoNulls) {
+                return boolean.class;
+            } else {
+                return Boolean.class;
+            }
+        case java.sql.Types.BINARY:
+        case java.sql.Types.LONGVARBINARY:
+            return InputStream.class;
+        default:
+            return null;
+        }
+    }
+
+    /**
+     * タイプ名からJavaクラスを引き当てます。
+     * 
+     * mapResultSetMeta2JavaClassメソッドを使ったが
+     * ResultSetMetaDataから型が引き当てられなかった場合に呼び出されます。
+     * ※実際にJDBC型からJavaクラスへとマッピングを行っている、blancoDbの中で重要な処理です。
+     * 
+     * @param typeName
+     * @param isColumnNoNulls
+     *            ※現在は処理内部で利用されていません。
+     *            非NULL制約があるかどうか。ResultSetMetaData.isNullable()または
+     *            resultSet.getInt("NULLABLE")で得られる値
+     * @return 導き出されたJavaの型。導き出せなかった場合にはnullが戻ります。
+     */
+    public static final Class mapTypeName2JavaClass(final String typeName,
+            final boolean isColumnNoNulls) {
+        String wrkTypeName = typeName.toUpperCase();
+        int indexOfTrim = wrkTypeName.indexOf('(');
+        if (indexOfTrim > 0) {
+            wrkTypeName = wrkTypeName.substring(0, indexOfTrim);
+        }
+
+        if (wrkTypeName.equals("TIMESTAMP")) {
+            return Date.class;
+        } else {
+            return null;
         }
     }
 }
Index: src/main/blanco/db/task/BlancoDbTask.java
===================================================================
RCS file: /storage/Repository/Arch/blancoDbEE/src/main/blanco/db/task/BlancoDbTask.java,v
retrieving revision 1.20
diff -u -r1.20 BlancoDbTask.java
--- src/main/blanco/db/task/BlancoDbTask.java	13 Dec 2005 06:00:37 -0000	1.20
+++ src/main/blanco/db/task/BlancoDbTask.java	18 Jan 2006 08:57:05 -0000
@@ -11,9 +11,9 @@
 
 import java.io.BufferedInputStream;
 import java.io.BufferedOutputStream;
-import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.FileInputStream;
+import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
@@ -94,10 +94,15 @@
                         InputStream inStream = null;
                         OutputStream outStream = null;
                         try {
-                            final ByteArrayOutputStream workStream = new ByteArrayOutputStream();
                             inStream = new BufferedInputStream(
                                     new FileInputStream(files[index]));
-                            outStream = new BufferedOutputStream(workStream);
+                            outStream = new BufferedOutputStream(
+                                    new FileOutputStream(
+                                            blancoTmpDbSqlDirectory
+                                                    .getAbsolutePath()
+                                                    + "/"
+                                                    + files[index].getName()
+                                                    + ".xml"));
                             new BlancoDbMeta2Xml() {
                                 public boolean progress(int progressCurrent,
                                         int progressTotal, String progressItem) {
Index: lib/blancocommons-0.3.1.jar
===================================================================
RCS file: lib/blancocommons-0.3.1.jar
diff -N lib/blancocommons-0.3.1.jar
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ lib/blancocommons-0.3.1.jar	1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,1268 @@
+PK
+