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>  自動生成対象となるblancoフォル?は削除しま?.</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]ɑΉlBOǂݍ݂łȂꍇɂ́A`̒l߂܂BKnullȊO̒l߂܂B
+     */
+    public String getTypeMappingFailOnError() {
+        // lƂĒ`̒l𗘗p܂B
+        String strFormat = "true";
+        try {
+            if (fResourceBundle != null) {
+                strFormat = fResourceBundle.getString("TYPE_MAPPING.FAIL_ON_ERROR");
+            }
+        } catch (MissingResourceException ex) {
+            final String message = "ꖼ[BlancoDb]AL[[TYPE_MAPPING.FAIL_ON_ERROR]̒`擾ł܂łB`̒l𗘗pďs܂B:" + ex.toString();
+            System.out.println(message);
+        }
+        // u͂ЂƂ܂B
+        return strFormat;
+    }
+
+    /**
+     * bundle[BlancoDb], key[TYPE_MAPPING.ERR001]<br>
+     * <br>
+     * [^}bsOƂăT|[gȂJDBC^({0,number}/{1})܂Bf܂B] (ja)<br>
+     * 
+     * @param arg0 u{0}ulBjava.math.BigDecimal^^ĂB
+     * @param arg1 u{1}ulBjava.lang.String^^ĂB
+     * 
+     * @return key[TYPE_MAPPING.ERR001]ɑΉlBOǂݍ݂łȂꍇɂ́A`̒l߂܂BKnullȊO̒l߂܂B
+     */
+    public String getTypeMappingErr001(final BigDecimal arg0, final String arg1) {
+        // lƂĒ`̒l𗘗p܂B
+        String strFormat = "^}bsOƂăT|[gȂJDBC^({0,number}/{1})܂Bf܂B";
+        try {
+            if (fResourceBundle != null) {
+                strFormat = fResourceBundle.getString("TYPE_MAPPING.ERR001");
+            }
+        } catch (MissingResourceException ex) {
+            final String message = "ꖼ[BlancoDb]AL[[TYPE_MAPPING.ERR001]̒`擾ł܂łB`̒l𗘗pďs܂B:" + ex.toString();
+            System.out.println(message);
+        }
+        final MessageFormat messageFormat = new MessageFormat(strFormat);
+        final StringBuffer strbuf = new StringBuffer();
+        // ^ꂽɒuu܂B
+        messageFormat.format(new Object[] {arg0, arg1}, strbuf, null);
+        return strbuf.toString();
+    }
+
+    /**
      * bundle[BlancoDb], key[XML2JAVACLASS.ERR001]<br>
      * <br>
      * [SQL`ID[{0}]́uSQLv擾ł܂łBSQLK؂ɋLڂĂ邱ƂmFĂB] (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^XN [BlancoDb]̒ۃNX
+ * Apache Ant^XN [BlancoDb]̒ېeNX
  */
 package blanco.db.task;
 
@@ -8,12 +8,15 @@
 import org.apache.tools.ant.Task;
 
 /**
- * Apache Ant^XN [BlancoDb]̒ۃNX<br>
- * : [BlancoDb Enterprise Edition AntTaskłB]<br>
- * ̃NXpBlancoDbTaskNX쐬ĎۂAnt^XN̏eLqĂB<br>
+ * Apache Ant^XN [BlancoDb]̒ېeNXB
+ * 
+ * BlancoDb Enterprise Edition AntTaskłB<br>
+ * ̒ېeNXł́AApache Ant^XNňʓIɕKvȃ`FbNȂǂ̃R[fBO肵܂B
+ * ̃NXpāApbP[W[blanco.db.task]BlancoDbTaskNX쐬ĂBAnt^XN̏eLqĂB<br>
+ * <br>
  * Ant^XNւ̑gݍݗ<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^XN[jdbcdriver]Agr[g<br>
      * ڔԍ: 1<br>
-     * : JDBChCõNXw肵܂B<br>
+     * JDBChCõNXw肵܂B<br>
      * K{<br>
      */
     private String fJdbcdriver;
@@ -33,7 +36,7 @@
     /**
      * Ant^XN[jdbcurl]Agr[g<br>
      * ڔԍ: 2<br>
-     * : JDBCڑURLw肵܂B<br>
+     * JDBCڑURLw肵܂B<br>
      * K{<br>
      */
     private String fJdbcurl;
@@ -41,7 +44,7 @@
     /**
      * Ant^XN[jdbcuser]Agr[g<br>
      * ڔԍ: 3<br>
-     * : JDBCf[^x[Xڑsۂ̃[Uw肵܂B<br>
+     * JDBCf[^x[Xڑsۂ̃[Uw肵܂B<br>
      * K{<br>
      */
     private String fJdbcuser;
@@ -49,7 +52,7 @@
     /**
      * Ant^XN[jdbcpassword]Agr[g<br>
      * ڔԍ: 4<br>
-     * : JDBCf[^x[Xڑsۂ̃pX[hw肵܂B<br>
+     * JDBCf[^x[Xڑsۂ̃pX[hw肵܂B<br>
      * K{<br>
      */
     private String fJdbcpassword;
@@ -57,7 +60,7 @@
     /**
      * Ant^XN[metadir]Agr[g<br>
      * ڔԍ: 5<br>
-     * : SQL`^t@Ci[ĂfBNgw肵܂B<br>
+     * SQL`^t@Ci[ĂfBNgw肵܂B<br>
      * K{<br>
      */
     private String fMetadir;
@@ -65,21 +68,21 @@
     /**
      * Ant^XN[tmpdir]Agr[g<br>
      * ڔԍ: 6<br>
-     * : e|tH_w肵܂Bw̏ꍇɂ̓JgtmptH_𗘗p܂B<br>
+     * e|tH_w肵܂Bw̏ꍇɂ̓JgtmptH_𗘗p܂B<br>
      */
     private String fTmpdir;
 
     /**
      * Ant^XN[targetdir]Agr[g<br>
      * ڔԍ: 7<br>
-     * : blancoDbJava\[XR[ho͂fBNgw肵܂B<br>
+     * blancoDbJava\[XR[ho͂fBNgw肵܂B<br>
      */
     private String fTargetdir;
 
     /**
      * Ant^XN[basepackage]Agr[g<br>
      * ڔԍ: 8<br>
-     * : blancoDbJava\[XR[h𐶐ۂ̊ƂȂpbP[Ww肵܂B<br>
+     * blancoDbJava\[XR[h𐶐ۂ̊ƂȂpbP[Ww肵܂B<br>
      * K{<br>
      */
     private String fBasepackage;
@@ -87,28 +90,28 @@
     /**
      * Ant^XN[schema]Agr[g<br>
      * ڔԍ: 9<br>
-     * : P\擾ۂ̃XL[}B{IɖwłBOraclȅꍇɂ̂݁A[U啶̂w肵܂BOraclȅꍇ w肵ȂƁAVXe\܂ŌĂ܂s邽߂łB<br>
+     * P\擾ۂ̃XL[}B{IɖwłBOraclȅꍇɂ̂݁A[U啶̂w肵܂BOraclȅꍇ w肵ȂƁAVXe\܂ŌĂ܂s邽߂łB<br>
      */
     private String fSchema;
 
     /**
      * Ant^XN[table]Agr[g<br>
      * ڔԍ: 10<br>
-     * : trueݒ肷ƒP\̂߂̃ANZTER[h𐶐܂B<br>
+     * trueݒ肷ƒP\̂߂̃ANZTER[h𐶐܂B<br>
      */
     private String fTable;
 
     /**
      * Ant^XN[sql]Agr[g<br>
      * ڔԍ: 11<br>
-     * : trueݒ肷SQL`R[h𐶐܂B<br>
+     * trueݒ肷SQL`R[h𐶐܂B<br>
      */
     private String fSql;
 
     /**
      * Ant^XN[log]Agr[g<br>
      * ڔԍ: 12<br>
-     * : trueݒ肷 Jakarta Commonsp̃MOR[h𐶐܂B<br>
+     * trueݒ肷 Jakarta Commonsp̃MOR[h𐶐܂B<br>
      */
     private String fLog;
 
@@ -116,9 +119,9 @@
     protected abstract void process() throws IllegalArgumentException;
 
     /**
-     * Ant^XN[jdbcdriver]Agr[g̃Zb^[\bh
-     * ڔԍ: 1
-     * : [JDBChCõNXw肵܂B]̃tB[hϐZbg܂B
+     * Ant^XN[jdbcdriver]Agr[g̃Zb^[\bh<br>
+     * ڔԍ: 1<br>
+     * JDBChCõNXw肵܂B<br>
      * 
      * @param arg Zbgl
      */
@@ -127,9 +130,10 @@
     }
 
     /**
-     * Ant^XN[jdbcdriver]Agr[g̃Zb^[\bh
-     * ڔԍ: 1
-     * : [JDBChCõNXw肵܂B]̃tB[hϐZbg܂B
+     * Ant^XN[jdbcdriver]Agr[g̃Zb^[\bh<br>
+     * ڔԍ: 1<br>
+     * JDBChCõNXw肵܂B<br>
+     * K{Agr[głBApache Ant^XNŕKlw肳܂B<br>
      * 
      * @return ̃tB[h̒l
      */
@@ -138,9 +142,9 @@
     }
 
     /**
-     * Ant^XN[jdbcurl]Agr[g̃Zb^[\bh
-     * ڔԍ: 2
-     * : [JDBCڑURLw肵܂B]̃tB[hϐZbg܂B
+     * Ant^XN[jdbcurl]Agr[g̃Zb^[\bh<br>
+     * ڔԍ: 2<br>
+     * JDBCڑURLw肵܂B<br>
      * 
      * @param arg Zbgl
      */
@@ -149,9 +153,10 @@
     }
 
     /**
-     * Ant^XN[jdbcurl]Agr[g̃Zb^[\bh
-     * ڔԍ: 2
-     * : [JDBCڑURLw肵܂B]̃tB[hϐZbg܂B
+     * Ant^XN[jdbcurl]Agr[g̃Zb^[\bh<br>
+     * ڔԍ: 2<br>
+     * JDBCڑURLw肵܂B<br>
+     * K{Agr[głBApache Ant^XNŕKlw肳܂B<br>
      * 
      * @return ̃tB[h̒l
      */
@@ -160,9 +165,9 @@
     }
 
     /**
-     * Ant^XN[jdbcuser]Agr[g̃Zb^[\bh
-     * ڔԍ: 3
-     * : [JDBCf[^x[Xڑsۂ̃[Uw肵܂B]̃tB[hϐZbg܂B
+     * Ant^XN[jdbcuser]Agr[g̃Zb^[\bh<br>
+     * ڔԍ: 3<br>
+     * JDBCf[^x[Xڑsۂ̃[Uw肵܂B<br>
      * 
      * @param arg Zbgl
      */
@@ -171,9 +176,10 @@
     }
 
     /**
-     * Ant^XN[jdbcuser]Agr[g̃Zb^[\bh
-     * ڔԍ: 3
-     * : [JDBCf[^x[Xڑsۂ̃[Uw肵܂B]̃tB[hϐZbg܂B
+     * Ant^XN[jdbcuser]Agr[g̃Zb^[\bh<br>
+     * ڔԍ: 3<br>
+     * JDBCf[^x[Xڑsۂ̃[Uw肵܂B<br>
+     * K{Agr[głBApache Ant^XNŕKlw肳܂B<br>
      * 
      * @return ̃tB[h̒l
      */
@@ -182,9 +188,9 @@
     }
 
     /**
-     * Ant^XN[jdbcpassword]Agr[g̃Zb^[\bh
-     * ڔԍ: 4
-     * : [JDBCf[^x[Xڑsۂ̃pX[hw肵܂B]̃tB[hϐZbg܂B
+     * Ant^XN[jdbcpassword]Agr[g̃Zb^[\bh<br>
+     * ڔԍ: 4<br>
+     * JDBCf[^x[Xڑsۂ̃pX[hw肵܂B<br>
      * 
      * @param arg Zbgl
      */
@@ -193,9 +199,10 @@
     }
 
     /**
-     * Ant^XN[jdbcpassword]Agr[g̃Zb^[\bh
-     * ڔԍ: 4
-     * : [JDBCf[^x[Xڑsۂ̃pX[hw肵܂B]̃tB[hϐZbg܂B
+     * Ant^XN[jdbcpassword]Agr[g̃Zb^[\bh<br>
+     * ڔԍ: 4<br>
+     * JDBCf[^x[Xڑsۂ̃pX[hw肵܂B<br>
+     * K{Agr[głBApache Ant^XNŕKlw肳܂B<br>
      * 
      * @return ̃tB[h̒l
      */
@@ -204,9 +211,9 @@
     }
 
     /**
-     * Ant^XN[metadir]Agr[g̃Zb^[\bh
-     * ڔԍ: 5
-     * : [SQL`^t@Ci[ĂfBNgw肵܂B]̃tB[hϐZbg܂B
+     * Ant^XN[metadir]Agr[g̃Zb^[\bh<br>
+     * ڔԍ: 5<br>
+     * SQL`^t@Ci[ĂfBNgw肵܂B<br>
      * 
      * @param arg Zbgl
      */
@@ -215,9 +222,10 @@
     }
 
     /**
-     * Ant^XN[metadir]Agr[g̃Zb^[\bh
-     * ڔԍ: 5
-     * : [SQL`^t@Ci[ĂfBNgw肵܂B]̃tB[hϐZbg܂B
+     * Ant^XN[metadir]Agr[g̃Zb^[\bh<br>
+     * ڔԍ: 5<br>
+     * SQL`^t@Ci[ĂfBNgw肵܂B<br>
+     * K{Agr[głBApache Ant^XNŕKlw肳܂B<br>
      * 
      * @return ̃tB[h̒l
      */
@@ -226,9 +234,9 @@
     }
 
     /**
-     * Ant^XN[tmpdir]Agr[g̃Zb^[\bh
-     * ڔԍ: 6
-     * : [e|tH_w肵܂Bw̏ꍇɂ̓JgtmptH_𗘗p܂B]̃tB[hϐZbg܂B
+     * Ant^XN[tmpdir]Agr[g̃Zb^[\bh<br>
+     * ڔԍ: 6<br>
+     * e|tH_w肵܂Bw̏ꍇɂ̓JgtmptH_𗘗p܂B<br>
      * 
      * @param arg Zbgl
      */
@@ -237,9 +245,10 @@
     }
 
     /**
-     * Ant^XN[tmpdir]Agr[g̃Zb^[\bh
-     * ڔԍ: 6
-     * : [e|tH_w肵܂Bw̏ꍇɂ̓JgtmptH_𗘗p܂B]̃tB[hϐZbg܂B
+     * Ant^XN[tmpdir]Agr[g̃Zb^[\bh<br>
+     * ڔԍ: 6<br>
+     * e|tH_w肵܂Bw̏ꍇɂ̓JgtmptH_𗘗p܂B<br>
+     * ftHgl[tmp]ݒ肳Ă܂BApache Ant^XNŃAgr[g̎w肪ꍇɂ́AftHglݒ肳܂B<br>
      * 
      * @return ̃tB[h̒l
      */
@@ -248,9 +257,9 @@
     }
 
     /**
-     * Ant^XN[targetdir]Agr[g̃Zb^[\bh
-     * ڔԍ: 7
-     * : [blancoDbJava\[XR[ho͂fBNgw肵܂B]̃tB[hϐZbg܂B
+     * Ant^XN[targetdir]Agr[g̃Zb^[\bh<br>
+     * ڔԍ: 7<br>
+     * blancoDbJava\[XR[ho͂fBNgw肵܂B<br>
      * 
      * @param arg Zbgl
      */
@@ -259,9 +268,9 @@
     }
 
     /**
-     * Ant^XN[targetdir]Agr[g̃Zb^[\bh
-     * ڔԍ: 7
-     * : [blancoDbJava\[XR[ho͂fBNgw肵܂B]̃tB[hϐZbg܂B
+     * Ant^XN[targetdir]Agr[g̃Zb^[\bh<br>
+     * ڔԍ: 7<br>
+     * blancoDbJava\[XR[ho͂fBNgw肵܂B<br>
      * 
      * @return ̃tB[h̒l
      */
@@ -270,9 +279,9 @@
     }
 
     /**
-     * Ant^XN[basepackage]Agr[g̃Zb^[\bh
-     * ڔԍ: 8
-     * : [blancoDbJava\[XR[h𐶐ۂ̊ƂȂpbP[Ww肵܂B]̃tB[hϐZbg܂B
+     * Ant^XN[basepackage]Agr[g̃Zb^[\bh<br>
+     * ڔԍ: 8<br>
+     * blancoDbJava\[XR[h𐶐ۂ̊ƂȂpbP[Ww肵܂B<br>
      * 
      * @param arg Zbgl
      */
@@ -281,9 +290,10 @@
     }
 
     /**
-     * Ant^XN[basepackage]Agr[g̃Zb^[\bh
-     * ڔԍ: 8
-     * : [blancoDbJava\[XR[h𐶐ۂ̊ƂȂpbP[Ww肵܂B]̃tB[hϐZbg܂B
+     * Ant^XN[basepackage]Agr[g̃Zb^[\bh<br>
+     * ڔԍ: 8<br>
+     * blancoDbJava\[XR[h𐶐ۂ̊ƂȂpbP[Ww肵܂B<br>
+     * K{Agr[głBApache Ant^XNŕKlw肳܂B<br>
      * 
      * @return ̃tB[h̒l
      */
@@ -292,9 +302,9 @@
     }
 
     /**
-     * Ant^XN[schema]Agr[g̃Zb^[\bh
-     * ڔԍ: 9
-     * : [P\擾ۂ̃XL[}B{IɖwłBOraclȅꍇɂ̂݁A[U啶̂w肵܂BOraclȅꍇ w肵ȂƁAVXe\܂ŌĂ܂s邽߂łB]̃tB[hϐZbg܂B
+     * Ant^XN[schema]Agr[g̃Zb^[\bh<br>
+     * ڔԍ: 9<br>
+     * P\擾ۂ̃XL[}B{IɖwłBOraclȅꍇɂ̂݁A[U啶̂w肵܂BOraclȅꍇ w肵ȂƁAVXe\܂ŌĂ܂s邽߂łB<br>
      * 
      * @param arg Zbgl
      */
@@ -303,9 +313,9 @@
     }
 
     /**
-     * Ant^XN[schema]Agr[g̃Zb^[\bh
-     * ڔԍ: 9
-     * : [P\擾ۂ̃XL[}B{IɖwłBOraclȅꍇɂ̂݁A[U啶̂w肵܂BOraclȅꍇ w肵ȂƁAVXe\܂ŌĂ܂s邽߂łB]̃tB[hϐZbg܂B
+     * Ant^XN[schema]Agr[g̃Zb^[\bh<br>
+     * ڔԍ: 9<br>
+     * P\擾ۂ̃XL[}B{IɖwłBOraclȅꍇɂ̂݁A[U啶̂w肵܂BOraclȅꍇ w肵ȂƁAVXe\܂ŌĂ܂s邽߂łB<br>
      * 
      * @return ̃tB[h̒l
      */
@@ -314,9 +324,9 @@
     }
 
     /**
-     * Ant^XN[table]Agr[g̃Zb^[\bh
-     * ڔԍ: 10
-     * : [trueݒ肷ƒP\̂߂̃ANZTER[h𐶐܂B]̃tB[hϐZbg܂B
+     * Ant^XN[table]Agr[g̃Zb^[\bh<br>
+     * ڔԍ: 10<br>
+     * trueݒ肷ƒP\̂߂̃ANZTER[h𐶐܂B<br>
      * 
      * @param arg Zbgl
      */
@@ -325,9 +335,10 @@
     }
 
     /**
-     * Ant^XN[table]Agr[g̃Zb^[\bh
-     * ڔԍ: 10
-     * : [trueݒ肷ƒP\̂߂̃ANZTER[h𐶐܂B]̃tB[hϐZbg܂B
+     * Ant^XN[table]Agr[g̃Zb^[\bh<br>
+     * ڔԍ: 10<br>
+     * trueݒ肷ƒP\̂߂̃ANZTER[h𐶐܂B<br>
+     * ftHgl[false]ݒ肳Ă܂BApache Ant^XNŃAgr[g̎w肪ꍇɂ́AftHglݒ肳܂B<br>
      * 
      * @return ̃tB[h̒l
      */
@@ -336,9 +347,9 @@
     }
 
     /**
-     * Ant^XN[sql]Agr[g̃Zb^[\bh
-     * ڔԍ: 11
-     * : [trueݒ肷SQL`R[h𐶐܂B]̃tB[hϐZbg܂B
+     * Ant^XN[sql]Agr[g̃Zb^[\bh<br>
+     * ڔԍ: 11<br>
+     * trueݒ肷SQL`R[h𐶐܂B<br>
      * 
      * @param arg Zbgl
      */
@@ -347,9 +358,10 @@
     }
 
     /**
-     * Ant^XN[sql]Agr[g̃Zb^[\bh
-     * ڔԍ: 11
-     * : [trueݒ肷SQL`R[h𐶐܂B]̃tB[hϐZbg܂B
+     * Ant^XN[sql]Agr[g̃Zb^[\bh<br>
+     * ڔԍ: 11<br>
+     * trueݒ肷SQL`R[h𐶐܂B<br>
+     * ftHgl[false]ݒ肳Ă܂BApache Ant^XNŃAgr[g̎w肪ꍇɂ́AftHglݒ肳܂B<br>
      * 
      * @return ̃tB[h̒l
      */
@@ -358,9 +370,9 @@
     }
 
     /**
-     * Ant^XN[log]Agr[g̃Zb^[\bh
-     * ڔԍ: 12
-     * : [trueݒ肷 Jakarta Commonsp̃MOR[h𐶐܂B]̃tB[hϐZbg܂B
+     * Ant^XN[log]Agr[g̃Zb^[\bh<br>
+     * ڔԍ: 12<br>
+     * trueݒ肷 Jakarta Commonsp̃MOR[h𐶐܂B<br>
      * 
      * @param arg Zbgl
      */
@@ -369,9 +381,10 @@
     }
 
     /**
-     * Ant^XN[log]Agr[g̃Zb^[\bh
-     * ڔԍ: 12
-     * : [trueݒ肷 Jakarta Commonsp̃MOR[h𐶐܂B]̃tB[hϐZbg܂B
+     * Ant^XN[log]Agr[g̃Zb^[\bh<br>
+     * ڔԍ: 12<br>
+     * trueݒ肷 Jakarta Commonsp̃MOR[h𐶐܂B<br>
+     * ftHgl[false]ݒ肳Ă܂BApache Ant^XNŃAgr[g̎w肪ꍇɂ́AftHglݒ肳܂B<br>
      * 
      * @return ̃tB[h̒l
      */
@@ -380,7 +393,7 @@
     }
 
     /**
-     * Ant^XÑC
+     * Ant^XÑCBApache Ant ̃\bhĂяo܂B
      * 
      * @throws BuildException ^XNƂĂ̗OꍇB
      */
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) oOtBbNX[X
+  SQL`IDuOό`ɁvNXɗpĂ܂ĂsCB
+
+2006.01.05 (1.4.0) 1.2.0̎ȕύX_܂B
+  (1)ExcellP܂BuSQL`vւƖ̂ς܂B
+     EExcelluSQL`vƖOύXAeɂĂs܂B
+     E\󂠂܂񂪁AlɂĂ 1.2.xn(o[W)܂łƂ̌݊͂܂B
+  (2)XgAhvV[W(CallableStatement)ւ̑Ήs܂B
+     Euďo^vIƃXgAhvV[Wpł܂B
+
+  (3)P\T|[g֘A
+     EP\SQLɂă_uNI[gGXP[vKvȏꍇɂ̂ݕt^悤ɕύX܂B
+       ̑Ήɂ MySQLΉ\ƂȂ܂B
+        HSQLDB͂̕ύXɂ蓮삵ȂȂ܂B
+       _uNI[gƓ삵Ȃ HSQLDB̎dlȂ̂łƔf܂B
+     EP\ANZX̃XN[ɂČ{܂B
+       ftHgCZVeBuƂ܂B
+       vpeBŃXN[͕ύX\Ȃ悤ɂ܂B
+     EP\̑SsSELECTɂāA1.2nł͖Ă܂A𕜊܂B
+     Eo[W̌݊̂߂ɓIɃT|[gĂTableGatewayT|[gI܂B
+     EP\̃e[uɂ \$܂܂Ăꍇɂ́AȂ悤ɎdlύX܂B
+        Oracle10gɂāA폜e[uȂǂ BIN$Ƃe[uƂĊi[dlւ̑Ή̂߂łB
+
+  (4)MOւ̑Ή
+     Commons LoggingɑΉ܂B
+
+  (5)Vȃf[^x[Xւ̑Ή
+     Oracle10gœmF܂B
+     MySQLŊȒPȓmF܂B
+
+  (6)G[̏
+     EȃG[bZ[W\[Xoh܂B
+     EoChỸp[^ꍇɗO悤ɕύX܂B
+       ܂ASQLO Ȃׂ̂܂ܓ`悤ɉPA₷悤ɂ܂B
+
+  (7)̉P
+     EOό`̏𔲖{IɌ܂B
+     EvOC̐io[̕\sK؂ł̂C܂B
+     EvOCException, ErrorEclipsẽOɓK؂ɏo͂悤ɉPB
+     ȆA\[XR[h̑啝Ȑ{܂BXebvȂ茸܂B
+
+2006.01.05 (1.4.0)
+  dl胂[hɓ܂B
+  ̔ło׌łƈʒuÂA{܂B
+  svȉsSQLɕt^ĂsCB
+
+2006.01.05 (1.3.19)
+  1.4.0[XɌāAŌ̎łB
+  XgAhvV[WΉɕŝŏCB
+  oChỸp[^ꍇɗO悤ɏCB
+
+2006.01.05 (1.3.18)
+  1.4.0[XɌāAŌ̎ɂ܂B
+  ValueObjectjart@CXV
+  blancoEclipsePluginGenɑΉ
+  (plugin)y폜zBlancoDbEEPlugin
+  (plugin)y폜zBlancoDbEEDocumentProvider
+  (plugin)y폜zBlancoDbEEPluginUtil
+
+2005.12.21 (1.3.17)
+  P\̓̓p[^ɂĖOό`sĂ̂CB
+
+2005.12.20 (1.3.16)
+  JDBCJavaւ̌^}bsȌPB
+  Ant^XNɕs̂ŏC (SQL`̏S삵Ȃ)
+
+2005.12.19 (1.3.15)
+  Oracle10gTIMESTAMP^JDBCł̈ύXĂBɎbΏB
+  ̓Iɂ́Ajava.sql.Typesւ̃}bsOs_ŁADB̌^ɂ锻{B
+
+2005.12.16 (1.3.14)
+  P\̃e[uɂ \$܂܂Ăꍇɂ́AȂ悤ɎdlύXB
+   Oracle10gɂāA폜e[uȂǂ BIN$Ƃe[uƂĊi[dlւ̑Ή̂߂ȂB
+
+2005.12.16 (1.3.13)
+  P\̃^WɗOꍇ̏PB
+
 2005.12.14 (1.3.12)
   yړzblancosoap*.jarliblib.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̈K؂ɃMO悤ɉP邱ƁB
+
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 @@
     /**
      * o[Wԍ܂B
      */
-    public static final String VERSION = "1.3.11";
+    public static final String VERSION = "1.4.0";
 
     /**
      * v_Ng܂B
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 {
+                    // 񂪂łɑ݂Ăꍇɂ̂݉st^܂B
                     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) {
+                        // \[$]tĂ̂ blancoDbł͏܂B
+                        System.out.println("\[" + tableName
+                                + "]͕\$tĂ邽߁As܂B");
+                        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("P\[" + tableName
+                        + "]̏WĂƂɗO܂B" + 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("P\[" + tableName + "]̗["
+                        + columnName + "]̏ĂƂSQLO܂B"
+                        + "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("P\[" + tableName + "]̗["
+                        + columnName + "]̏ĂƂɓ͗O܂B"
+                        + "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("T|[gÕ^Cv J:");
-        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 {IɌver.1 2005.05.06
+ * JDBC̃^ƂJavǎ^ւƃ}bsOs܂B
+ * 
+ * @author Yasuo Nakanishi o[W̊J
+ * @author Tosiki Iga ێeiXS
+ * @version 2005.12.20 {IɌver.2
+ * @version 2005.05.06 {IɌ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:
-            // T|[gĂ܂B
-            break;
-        }
-        return result;
-    }
+    private final BlancoDbResourceBundle bundle = new BlancoDbResourceBundle();
 
     /**
-     * JDBČ^Javǎ^}bsOӏłB <br>
-     * TODO I nulleڂƔnullڂƂŌ^}bv̎gȂǂKvłB
+     * P\̏ƂɁAJDBČ^Javǎ^ւƃ}bsO܂B
+     * 
+     * @param resultSet
+     *            P\̏̂߂̃UgZbgł
+     * @return e[utB[h߂܂
+     * @throws SQLException
+     *             SQLOꍇ
      */
     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");
+        // ^ĂȂꍇ̏s܂B
+        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 DATETIMESTAMP؂^DateɂȂ̂ǂ̍l@KvB
-            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:
-            // DECIMALNUMERICƂ̍ق́ASuñ}bv\ɂ͌Ȃ
-            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𗘗pĂ܂B
+            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 : "\Ȃlnꂽ";
+            break;
         }
-        result.setJdbcType(type);
-        result.setSize(resultSet.getInt("COLUMN_SIZE"));
-
-        result.setNullable(resultSet.getInt("NULLABLE"));
 
         return result;
     }
 
     /**
-     * JDBČ^Javǎ^}bsOӏłB <br>
-     * TODO I nulleڂƔnullڂƂŌ^}bv̎gȂǂKvłB
+     * SQLsʂ̏ƂɁAJDBČ^Javǎ^ւƃ}bsO܂B
+     * 
+     * @param index
+     *            tB[h̃CfBbNXԍ
+     * @param meta
+     *            ^
+     * @return oꂽtB[h
+     * @throws SQLException
+     *             SQLOꍇ
      */
     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);
+        // ^ĂȂꍇ̏s܂B
+        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);
+            // Pe[uƈقȂA̎擾pX݂܂B
             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 DATETIMESTAMP؂^DateɂȂ̂ǂ̍l@KvB
-            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:
-            // DECIMALNUMERICƂ̍ق́ASuñ}bv\ɂ͌Ȃ
-            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("^`FbN: T|[gĂȂ^^܂: "
-                    + BlancoDbMappingUtil.convertJdbcTypeToString(type));
-            // assert false : "\Ȃlnꂽ";
             break;
         }
-        result.setJdbcType(type);
-
-        // e탁^L܂B
-        // 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\bh̎sʂɂĂ͈ȂƂƂ܂B");
         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("XgAhvV[W̎sʂ̏o̓p[^擾܂B");
-        getJavaDoc().addLine("XgAhvV[W̎sʂƂĖ߂Ƃł̂͒lЂƂłB");
-
-        final Iterator ite = _caller.getOutParameterIterator();
-        while (ite.hasNext()) {
-            final Value val = (Value) ite.next();
-            setReturnType(val.getType());
-        }
+        getJavaDoc().addException(new Type("java.sql.SQLException"),
+                "SQLOꍇB");
+        addException(SQLException.class);
+        getJavaDoc().addReturn(
+                "XgAhvV[W["
+                        + BlancoJavaSourceUtil.escapeStringAsJavaDoc(val
+                                .getName()) + "]o");
+        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: SQLp[^𔭌ȂĂ͂Ȃ܂B
-            // AƂ肠^ꂽœoƉ肪Ă܂B
-            final Value val = (Value) ite.next();
-
-            final int[] listCol = query.getSqlParameters(val.getName());
-            if (listCol == null) {
-                System.out.println("[" + _caller.getName() + "] SQLo̓p[^["
-                        + val.getName() + "]тĂ܂.");
-                continue;
+        final int[] listCol = query.getSqlParameters(val.getName());
+        if (listCol == null) {
+            throw new IllegalArgumentException("SQL`ID[" + _caller.getName()
+                    + "] SQLo̓p[^[" + 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")) {
+                // l擾ۂɂ BlancoDbUtilKvłB
+                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̓p[^["
-                        + val.getName() + "]тĂ܂.");
-                continue;
+                throw new IllegalArgumentException("SQL`ID["
+                        + _caller.getName() + "] SQL̓p[^[" + 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\bhTimestamp^KvłB
+                    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̓p[^["
-                        + val.getName() + "]тĂ܂.");
-                continue;
+                throw new IllegalArgumentException("SQL`ID["
+                        + _invoker.getName() + "] SQL̓p[^[" + 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\bhTimestamp^KvłB
+                    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")) {
+                // l擾ۂɂ BlancoDbUtilKvłB
                 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̓p[^["
+                throw new IllegalArgumentException("SQL`ID["
+                        + _iterator.getName() + "] SQL̓p[^["
                         + 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\bhTimestamp^KvłB
+                    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\bhTimestamp^KvłB
+            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̏ꍇɂ́ANXւ̕ό`{ĂKv܂B
-        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();
+            // O
+            serializer.characters(className);
+            serializer.endElementName();
             serializer.characters("\n");
-            serializer.characters("      ");
-            serializer.startElementFile();
-            serializer.characters("\n");
-            serializer.characters("        ");
-            serializer.startElementComment();
-            serializer.characters("'" + className + "'s\sNXB\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 + "'s\sNXB\n");
+            serializer.characters("    ");
+            serializer.startElementDescription();
+            serializer.characters("SQL`(blancoDb)쐬ꂽsNXB\n");
+            serializer.characters("'" + className + "'s\܂B\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 + "'s\sNXB\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("tB[h[" + fieldName + "]łB");
-                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("tB[h[" + fieldName + "]łB");
+                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^ɁAResultSetɑ΂Qb^[\bh擾܂B
      * 
@@ -67,7 +70,11 @@
             setAccessorName = "getBinaryStream";
         } else if (javaTypeName.equals("Reader")) {
             setAccessorName = "getCharacterStream";
+        } else {
+            throw new IllegalArgumentException("Qb^[擾鏈ŁA^[" + javaTypeName
+                    + "]ɑΉQb^[̉͂Ɏs܂B");
         }
+
         return setAccessorName;
     }
 
@@ -121,7 +128,11 @@
             setAccessorName = "setBinaryStream";
         } else if (javaTypeName.equals("Reader")) {
             setAccessorName = "setCharacterStream";
+        } else {
+            throw new IllegalArgumentException("Zb^[擾鏈ŁA^[" + javaTypeName
+                    + "]ɑΉZb^[̉͂Ɏs܂B");
         }
+
         return setAccessorName;
     }
 
@@ -180,7 +191,8 @@
             stmt.setCharacterStream(columnId, new CharArrayReader(dummy),
                     dummy.length);
         } else {
-            System.out.println("YZb^[܂łB");
+            throw new IllegalArgumentException("_~[loCh鏈ɂāA^["
+                    + javaTypeName + "]ɑΉZb^[̉͂Ɏs܂B");
         }
     }
 
@@ -225,6 +237,9 @@
             setAccessorName = "updateBinaryStream";
         } else if (javaTypeName.equals("Reader")) {
             setAccessorName = "updateCharacterStream";
+        } else {
+            throw new IllegalArgumentException("update\bhɂ郁\bhm菈ɂāA^["
+                    + javaTypeName + "]ɑΉupdate\bh̉͂Ɏs܂B");
         }
         return setAccessorName;
     }
@@ -433,6 +448,115 @@
         } else {
             System.out.println("JDBC^Cv[" + javaFullType + "]͖T|[gł.");
             return "java.sql.Types.OTHER";
+        }
+    }
+
+    /**
+     * java.sql.ResultSetMetaDatã^Cvnull̗L JavãNX}bsO܂B
+     * 
+     * ۂJDBC^JavaNXւƃ}bsOsĂAblancoDb̒ŏdvȏłB
+     * 
+     * @param dataType
+     *            ResultSetMetaData.getColumnType()܂
+     *            resultSet.getInt("DATA_TYPE")œl
+     * @param isColumnNoNulls
+     *            NULL񂪂邩ǂBResultSetMetaData.isNullable()܂
+     *            resultSet.getInt("NULLABLE")œl
+     * @return oꂽJavǎ^BoȂꍇɂnull߂܂B
+     */
+    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:
+            // DECIMALNUMERICƂ̍ق́ASuñ}bv\ɂ͌Ȃ
+            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;
+        }
+    }
+
+    /**
+     * ^CvJavaNXĂ܂B
+     * 
+     * mapResultSetMeta2JavaClass\bhg
+     * ResultSetMetaData^ĂȂꍇɌĂяo܂B
+     * ۂJDBC^JavaNXւƃ}bsOsĂAblancoDb̒ŏdvȏłB
+     * 
+     * @param typeName
+     * @param isColumnNoNulls
+     *            ݂͏ŗpĂ܂B
+     *            NULL񂪂邩ǂBResultSetMetaData.isNullable()܂
+     *            resultSet.getInt("NULLABLE")œl
+     * @return oꂽJavǎ^BoȂꍇɂnull߂܂B
+     */
+    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
+