diff options
author | James Moger <james.moger@gmail.com> | 2012-01-11 09:20:51 -0500 |
---|---|---|
committer | James Moger <james.moger@gmail.com> | 2012-01-11 09:20:51 -0500 |
commit | 2e077918649d398dce0948cb3feeb61b925ee8a4 (patch) | |
tree | 2488329364248fb08e346314ba53399d9230bf64 | |
parent | 28d2cf5b30ba18f20db54ed9447bc19cb0e4e1b0 (diff) | |
download | iciql-2e077918649d398dce0948cb3feeb61b925ee8a4.tar.gz iciql-2e077918649d398dce0948cb3feeb61b925ee8a4.zip |
Generate SELECT T0.* type statementsv0.7.8
* Fixed negative rollover bug in the AS counter.
* Replaced the non-threadsafe AS counter with an AtomicInteger.
* Added an optional alias parameter to Query.toSQL() and
QueryWhere.toSQL() to force SELECT T0.* select lists
* Fixed bug with Query.select(Z z) which assumed that z is always an
anonymous inner class.
-rw-r--r-- | api/v12.xml | 6364 | ||||
-rw-r--r-- | docs/05_releases.mkd | 9 | ||||
-rw-r--r-- | src/com/iciql/Constants.java | 6 | ||||
-rw-r--r-- | src/com/iciql/Query.java | 72 | ||||
-rw-r--r-- | src/com/iciql/QueryWhere.java | 32 | ||||
-rw-r--r-- | src/com/iciql/SelectTable.java | 3 | ||||
-rw-r--r-- | src/com/iciql/TableDefinition.java | 30 | ||||
-rw-r--r-- | src/com/iciql/util/Utils.java | 13 | ||||
-rw-r--r-- | tests/com/iciql/test/RuntimeQueryTest.java | 43 | ||||
-rw-r--r-- | tests/com/iciql/test/SamplesTest.java | 2 |
10 files changed, 6548 insertions, 26 deletions
diff --git a/api/v12.xml b/api/v12.xml new file mode 100644 index 0000000..d985d11 --- /dev/null +++ b/api/v12.xml @@ -0,0 +1,6364 @@ +<api>
+<package name="com.iciql" +>
+<class name="Constants"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<constructor name="Constants" + type="com.iciql.Constants" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</constructor>
+<field name="API_CURRENT" + type="java.lang.String" + transient="false" + volatile="false" + value=""12"" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +>
+</field>
+<field name="NAME" + type="java.lang.String" + transient="false" + volatile="false" + value=""iciql"" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +>
+</field>
+<field name="VERSION" + type="java.lang.String" + transient="false" + volatile="false" + value=""0.7.8"" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +>
+</field>
+<field name="VERSION_DATE" + type="java.lang.String" + transient="false" + volatile="false" + value=""2012-01-09"" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +>
+</field>
+</class>
+<class name="Db"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<method name="activateConsoleLogger" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="buildObjects" + return="java.util.List<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="modelClass" type="java.lang.Class<? extends T>">
+</parameter>
+<parameter name="wildcardSelect" type="boolean">
+</parameter>
+<parameter name="rs" type="java.sql.ResultSet">
+</parameter>
+</method>
+<method name="buildObjects" + return="java.util.List<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="modelClass" type="java.lang.Class<? extends T>">
+</parameter>
+<parameter name="rs" type="java.sql.ResultSet">
+</parameter>
+</method>
+<method name="close" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="deactivateConsoleLogger" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="delete" + return="int" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="t" type="T">
+</parameter>
+</method>
+<method name="deleteAll" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="list" type="java.util.List<T>">
+</parameter>
+</method>
+<method name="dropTable" + return="int" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="modelClass" type="java.lang.Class<? extends T>">
+</parameter>
+</method>
+<method name="executeQuery" + return="java.util.List<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="modelClass" type="java.lang.Class<? extends T>">
+</parameter>
+<parameter name="sql" type="java.lang.String">
+</parameter>
+<parameter name="args" type="java.lang.Object...">
+</parameter>
+</method>
+<method name="executeQuery" + return="java.util.List<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="modelClass" type="java.lang.Class<? extends T>">
+</parameter>
+<parameter name="sql" type="java.lang.String">
+</parameter>
+<parameter name="args" type="java.util.List<?>">
+</parameter>
+</method>
+<method name="executeQuery" + return="java.sql.ResultSet" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="sql" type="java.lang.String">
+</parameter>
+<parameter name="args" type="java.lang.Object...">
+</parameter>
+</method>
+<method name="executeQuery" + return="java.sql.ResultSet" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="sql" type="java.lang.String">
+</parameter>
+<parameter name="args" type="java.util.List<?>">
+</parameter>
+</method>
+<method name="executeUpdate" + return="int" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="sql" type="java.lang.String">
+</parameter>
+</method>
+<method name="from" + return="com.iciql.Query<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="alias" type="T">
+</parameter>
+</method>
+<method name="getConnection" + return="java.sql.Connection" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="getDialect" + return="com.iciql.SQLDialect" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="insert" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="t" type="T">
+</parameter>
+</method>
+<method name="insertAll" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="list" type="java.util.List<T>">
+</parameter>
+</method>
+<method name="insertAllAndGetKeys" + return="java.util.List<java.lang.Long>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="list" type="java.util.List<T>">
+</parameter>
+</method>
+<method name="insertAndGetKey" + return="long" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="t" type="T">
+</parameter>
+</method>
+<method name="merge" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="t" type="T">
+</parameter>
+</method>
+<method name="open" + return="com.iciql.Db" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="url" type="java.lang.String">
+</parameter>
+</method>
+<method name="open" + return="com.iciql.Db" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="url" type="java.lang.String">
+</parameter>
+<parameter name="user" type="java.lang.String">
+</parameter>
+<parameter name="password" type="char[]">
+</parameter>
+</method>
+<method name="open" + return="com.iciql.Db" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="url" type="java.lang.String">
+</parameter>
+<parameter name="user" type="java.lang.String">
+</parameter>
+<parameter name="password" type="java.lang.String">
+</parameter>
+</method>
+<method name="open" + return="com.iciql.Db" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="conn" type="java.sql.Connection">
+</parameter>
+</method>
+<method name="open" + return="com.iciql.Db" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="ds" type="javax.sql.DataSource">
+</parameter>
+</method>
+<method name="registerDialect" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="token" type="java.lang.String">
+</parameter>
+<parameter name="dialectClass" type="java.lang.Class<? extends com.iciql.SQLDialect>">
+</parameter>
+</method>
+<method name="setDbUpgrader" + return="void" + abstract="false" + native="false" + synchronized="true" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="upgrader" type="com.iciql.DbUpgrader">
+</parameter>
+</method>
+<method name="test" + return="com.iciql.TestCondition<A>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="A">
+</parameter>
+</method>
+<method name="update" + return="int" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="t" type="T">
+</parameter>
+</method>
+<method name="updateAll" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="list" type="java.util.List<T>">
+</parameter>
+</method>
+</class>
+<class name="DbInspector"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<constructor name="DbInspector" + type="com.iciql.DbInspector" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="db" type="com.iciql.Db">
+</parameter>
+</constructor>
+<method name="generateModel" + return="java.util.List<java.lang.String>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="schema" type="java.lang.String">
+</parameter>
+<parameter name="table" type="java.lang.String">
+</parameter>
+<parameter name="packageName" type="java.lang.String">
+</parameter>
+<parameter name="annotateSchema" type="boolean">
+</parameter>
+<parameter name="trimStrings" type="boolean">
+</parameter>
+</method>
+<method name="setPreferredDateTimeClass" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="dateTimeClass" type="java.lang.Class<? extends java.util.Date>">
+</parameter>
+</method>
+<method name="validateModel" + return="java.util.List<com.iciql.ValidationRemark>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="model" type="T">
+</parameter>
+<parameter name="throwOnError" type="boolean">
+</parameter>
+</method>
+</class>
+<interface name="DbUpgrader"
+ abstract="true" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<method name="upgradeDatabase" + return="boolean" + abstract="true" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="db" type="com.iciql.Db">
+</parameter>
+<parameter name="fromVersion" type="int">
+</parameter>
+<parameter name="toVersion" type="int">
+</parameter>
+</method>
+<method name="upgradeTable" + return="boolean" + abstract="true" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="db" type="com.iciql.Db">
+</parameter>
+<parameter name="schema" type="java.lang.String">
+</parameter>
+<parameter name="table" type="java.lang.String">
+</parameter>
+<parameter name="fromVersion" type="int">
+</parameter>
+<parameter name="toVersion" type="int">
+</parameter>
+</method>
+</interface>
+<class name="DbUpgrader.DefaultDbUpgrader"
+ extends="java.lang.Object"
+ abstract="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<implements name="com.iciql.DbUpgrader">
+</implements>
+<constructor name="DbUpgrader.DefaultDbUpgrader" + type="com.iciql.DbUpgrader.DefaultDbUpgrader" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</constructor>
+<method name="upgradeDatabase" + return="boolean" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="db" type="com.iciql.Db">
+</parameter>
+<parameter name="fromVersion" type="int">
+</parameter>
+<parameter name="toVersion" type="int">
+</parameter>
+</method>
+<method name="upgradeTable" + return="boolean" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="db" type="com.iciql.Db">
+</parameter>
+<parameter name="schema" type="java.lang.String">
+</parameter>
+<parameter name="table" type="java.lang.String">
+</parameter>
+<parameter name="fromVersion" type="int">
+</parameter>
+<parameter name="toVersion" type="int">
+</parameter>
+</method>
+</class>
+<class name="DbVersion"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<constructor name="DbVersion" + type="com.iciql.DbVersion" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</constructor>
+<constructor name="DbVersion" + type="com.iciql.DbVersion" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="version" type="int">
+</parameter>
+</constructor>
+</class>
+<class name="Define"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<constructor name="Define" + type="com.iciql.Define" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</constructor>
+<method name="autoIncrement" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="column" type="java.lang.Object">
+</parameter>
+</method>
+<method name="columnName" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="column" type="java.lang.Object">
+</parameter>
+<parameter name="columnName" type="java.lang.String">
+</parameter>
+</method>
+<method name="defaultValue" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="column" type="java.lang.Object">
+</parameter>
+<parameter name="defaultValue" type="java.lang.String">
+</parameter>
+</method>
+<method name="index" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="type" type="com.iciql.Iciql.IndexType">
+</parameter>
+<parameter name="columns" type="java.lang.Object...">
+</parameter>
+</method>
+<method name="index" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="name" type="java.lang.String">
+</parameter>
+<parameter name="type" type="com.iciql.Iciql.IndexType">
+</parameter>
+<parameter name="columns" type="java.lang.Object...">
+</parameter>
+</method>
+<method name="length" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="column" type="java.lang.Object">
+</parameter>
+<parameter name="length" type="int">
+</parameter>
+</method>
+<method name="memoryTable" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="nullable" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="column" type="java.lang.Object">
+</parameter>
+<parameter name="isNullable" type="boolean">
+</parameter>
+</method>
+<method name="primaryKey" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="columns" type="java.lang.Object...">
+</parameter>
+</method>
+<method name="scale" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="column" type="java.lang.Object">
+</parameter>
+<parameter name="scale" type="int">
+</parameter>
+</method>
+<method name="schemaName" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="schemaName" type="java.lang.String">
+</parameter>
+</method>
+<method name="skipCreate" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="tableName" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="tableName" type="java.lang.String">
+</parameter>
+</method>
+<method name="trim" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="column" type="java.lang.Object">
+</parameter>
+</method>
+</class>
+<interface name="Filter"
+ abstract="true" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<method name="where" + return="boolean" + abstract="true" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+</interface>
+<class name="Function"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<implements name="com.iciql.Token">
+</implements>
+<constructor name="Function" + type="com.iciql.Function" + static="false" + final="false" + deprecated="not deprecated" + visibility="protected" +>
+<parameter name="name" type="java.lang.String">
+</parameter>
+<parameter name="x" type="java.lang.Object...">
+</parameter>
+</constructor>
+<method name="and" + return="java.lang.Boolean" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="java.lang.Boolean...">
+</parameter>
+</method>
+<method name="appendSQL" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="stat" type="com.iciql.SQLStatement">
+</parameter>
+<parameter name="query" type="com.iciql.Query<T>">
+</parameter>
+</method>
+<method name="count" + return="java.lang.Long" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="count" + return="java.lang.Long" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="java.lang.Object">
+</parameter>
+</method>
+<method name="isNotNull" + return="java.lang.Boolean" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="java.lang.Object">
+</parameter>
+</method>
+<method name="isNull" + return="java.lang.Boolean" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="java.lang.Object">
+</parameter>
+</method>
+<method name="length" + return="java.lang.Integer" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="java.lang.Object">
+</parameter>
+</method>
+<method name="like" + return="java.lang.Boolean" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="java.lang.String">
+</parameter>
+<parameter name="pattern" type="java.lang.String">
+</parameter>
+</method>
+<method name="max" + return="X" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="X">
+</parameter>
+</method>
+<method name="min" + return="X" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="X">
+</parameter>
+</method>
+<method name="not" + return="java.lang.Boolean" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="java.lang.Boolean">
+</parameter>
+</method>
+<method name="or" + return="java.lang.Boolean" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="java.lang.Boolean...">
+</parameter>
+</method>
+<method name="sum" + return="T" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="T">
+</parameter>
+</method>
+<field name="x" + type="java.lang.Object[]" + transient="false" + volatile="false" + value="null" + static="false" + final="false" + deprecated="not deprecated" + visibility="protected" +>
+</field>
+</class>
+<interface name="Iciql"
+ abstract="true" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<method name="defineIQ" + return="void" + abstract="true" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+</interface>
+<interface name="Iciql.EnumId"
+ abstract="true" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<method name="enumId" + return="int" + abstract="true" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+</interface>
+<class name="Iciql.EnumType"
+ extends="java.lang.Enum"
+ abstract="false" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +>
+<method name="valueOf" + return="com.iciql.Iciql.EnumType" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="name" type="java.lang.String">
+</parameter>
+</method>
+<method name="values" + return="com.iciql.Iciql.EnumType[]" + abstract="false" + native="false" + synchronized="false" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<field name="DEFAULT_TYPE" + type="com.iciql.Iciql.EnumType" + transient="false" + volatile="false" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +>
+</field>
+</class>
+<class name="Iciql.IQColumn"
+ extends="java.lang.Object"
+ abstract="true" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<implements name="java.lang.annotation.Annotation">
+</implements>
+</class>
+<class name="Iciql.IQEnum"
+ extends="java.lang.Object"
+ abstract="true" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<implements name="java.lang.annotation.Annotation">
+</implements>
+</class>
+<class name="Iciql.IQIgnore"
+ extends="java.lang.Object"
+ abstract="true" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<implements name="java.lang.annotation.Annotation">
+</implements>
+</class>
+<class name="Iciql.IQIndex"
+ extends="java.lang.Object"
+ abstract="true" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<implements name="java.lang.annotation.Annotation">
+</implements>
+</class>
+<class name="Iciql.IQIndexes"
+ extends="java.lang.Object"
+ abstract="true" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<implements name="java.lang.annotation.Annotation">
+</implements>
+</class>
+<class name="Iciql.IQSchema"
+ extends="java.lang.Object"
+ abstract="true" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<implements name="java.lang.annotation.Annotation">
+</implements>
+</class>
+<class name="Iciql.IQTable"
+ extends="java.lang.Object"
+ abstract="true" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<implements name="java.lang.annotation.Annotation">
+</implements>
+</class>
+<class name="Iciql.IQVersion"
+ extends="java.lang.Object"
+ abstract="true" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<implements name="java.lang.annotation.Annotation">
+</implements>
+</class>
+<class name="Iciql.IndexType"
+ extends="java.lang.Enum"
+ abstract="false" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +>
+<method name="valueOf" + return="com.iciql.Iciql.IndexType" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="name" type="java.lang.String">
+</parameter>
+</method>
+<method name="values" + return="com.iciql.Iciql.IndexType[]" + abstract="false" + native="false" + synchronized="false" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +>
+</method>
+</class>
+<class name="IciqlException"
+ extends="java.lang.RuntimeException"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<constructor name="IciqlException" + type="com.iciql.IciqlException" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="message" type="java.lang.String">
+</parameter>
+<parameter name="parameters" type="java.lang.Object...">
+</parameter>
+</constructor>
+<constructor name="IciqlException" + type="com.iciql.IciqlException" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="t" type="java.lang.Throwable">
+</parameter>
+</constructor>
+<constructor name="IciqlException" + type="com.iciql.IciqlException" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="t" type="java.lang.Throwable">
+</parameter>
+<parameter name="message" type="java.lang.String">
+</parameter>
+<parameter name="parameters" type="java.lang.Object...">
+</parameter>
+</constructor>
+<method name="checkUnmappedField" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="sql" type="java.lang.String">
+</parameter>
+</method>
+<method name="fromSQL" + return="com.iciql.IciqlException" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="sql" type="java.lang.String">
+</parameter>
+<parameter name="t" type="java.lang.Throwable">
+</parameter>
+</method>
+<method name="getIciqlCode" + return="int" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="getSQL" + return="java.lang.String" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="setSQL" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="sql" type="java.lang.String">
+</parameter>
+</method>
+<field name="CODE_DUPLICATE_KEY" + type="int" + transient="false" + volatile="false" + value="2" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +>
+</field>
+<field name="CODE_OBJECT_ALREADY_EXISTS" + type="int" + transient="false" + volatile="false" + value="4" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +>
+</field>
+<field name="CODE_OBJECT_NOT_FOUND" + type="int" + transient="false" + volatile="false" + value="3" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +>
+</field>
+<field name="CODE_UNMAPPED_FIELD" + type="int" + transient="false" + volatile="false" + value="1" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +>
+</field>
+</class>
+<class name="Query"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<method name="appendSQL" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="stat" type="com.iciql.SQLStatement">
+</parameter>
+<parameter name="alias" type="java.lang.Object">
+</parameter>
+<parameter name="value" type="java.lang.Object">
+</parameter>
+</method>
+<method name="appendSQL" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="stat" type="com.iciql.SQLStatement">
+</parameter>
+<parameter name="alias" type="java.lang.Object">
+</parameter>
+<parameter name="valueLeft" type="java.lang.Object">
+</parameter>
+<parameter name="valueRight" type="java.lang.Object">
+</parameter>
+<parameter name="compareType" type="com.iciql.CompareType">
+</parameter>
+</method>
+<method name="delete" + return="int" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="getSQL" + return="java.lang.String" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="groupBy" + return="com.iciql.Query<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="boolean">
+</parameter>
+</method>
+<method name="groupBy" + return="com.iciql.Query<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="byte">
+</parameter>
+</method>
+<method name="groupBy" + return="com.iciql.Query<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="double">
+</parameter>
+</method>
+<method name="groupBy" + return="com.iciql.Query<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="float">
+</parameter>
+</method>
+<method name="groupBy" + return="com.iciql.Query<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="int">
+</parameter>
+</method>
+<method name="groupBy" + return="com.iciql.Query<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="expr" type="java.lang.Object">
+</parameter>
+</method>
+<method name="groupBy" + return="com.iciql.Query<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="groupBy" type="java.lang.Object...">
+</parameter>
+</method>
+<method name="groupBy" + return="com.iciql.Query<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="long">
+</parameter>
+</method>
+<method name="groupBy" + return="com.iciql.Query<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="short">
+</parameter>
+</method>
+<method name="increment" + return="com.iciql.UpdateColumnIncrement<T, A>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="A">
+</parameter>
+</method>
+<method name="increment" + return="com.iciql.UpdateColumnIncrement<T, java.lang.Byte>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="byte">
+</parameter>
+</method>
+<method name="increment" + return="com.iciql.UpdateColumnIncrement<T, java.lang.Double>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="double">
+</parameter>
+</method>
+<method name="increment" + return="com.iciql.UpdateColumnIncrement<T, java.lang.Float>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="float">
+</parameter>
+</method>
+<method name="increment" + return="com.iciql.UpdateColumnIncrement<T, java.lang.Integer>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="int">
+</parameter>
+</method>
+<method name="increment" + return="com.iciql.UpdateColumnIncrement<T, java.lang.Long>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="long">
+</parameter>
+</method>
+<method name="increment" + return="com.iciql.UpdateColumnIncrement<T, java.lang.Short>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="short">
+</parameter>
+</method>
+<method name="innerJoin" + return="com.iciql.QueryJoin<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="alias" type="A">
+</parameter>
+</method>
+<method name="limit" + return="com.iciql.Query<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="limit" type="long">
+</parameter>
+</method>
+<method name="offset" + return="com.iciql.Query<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="offset" type="long">
+</parameter>
+</method>
+<method name="orderBy" + return="com.iciql.Query<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="boolean">
+</parameter>
+</method>
+<method name="orderBy" + return="com.iciql.Query<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="byte">
+</parameter>
+</method>
+<method name="orderBy" + return="com.iciql.Query<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="double">
+</parameter>
+</method>
+<method name="orderBy" + return="com.iciql.Query<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="float">
+</parameter>
+</method>
+<method name="orderBy" + return="com.iciql.Query<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="int">
+</parameter>
+</method>
+<method name="orderBy" + return="com.iciql.Query<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="expr" type="java.lang.Object">
+</parameter>
+</method>
+<method name="orderBy" + return="com.iciql.Query<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="expressions" type="java.lang.Object...">
+</parameter>
+</method>
+<method name="orderBy" + return="com.iciql.Query<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="long">
+</parameter>
+</method>
+<method name="orderBy" + return="com.iciql.Query<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="short">
+</parameter>
+</method>
+<method name="orderByDesc" + return="com.iciql.Query<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="expr" type="java.lang.Object">
+</parameter>
+</method>
+<method name="select" + return="java.util.List<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="select" + return="java.util.List<X>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="Z">
+</parameter>
+</method>
+<method name="selectCount" + return="long" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="selectDistinct" + return="java.util.List<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="selectDistinct" + return="java.util.List<X>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="Z">
+</parameter>
+</method>
+<method name="selectFirst" + return="T" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="selectFirst" + return="X" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="Z">
+</parameter>
+</method>
+<method name="set" + return="com.iciql.UpdateColumnSet<T, A>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="A">
+</parameter>
+</method>
+<method name="set" + return="com.iciql.UpdateColumnSet<T, java.lang.Boolean>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="boolean">
+</parameter>
+</method>
+<method name="set" + return="com.iciql.UpdateColumnSet<T, java.lang.Byte>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="byte">
+</parameter>
+</method>
+<method name="set" + return="com.iciql.UpdateColumnSet<T, java.lang.Double>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="double">
+</parameter>
+</method>
+<method name="set" + return="com.iciql.UpdateColumnSet<T, java.lang.Float>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="float">
+</parameter>
+</method>
+<method name="set" + return="com.iciql.UpdateColumnSet<T, java.lang.Integer>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="int">
+</parameter>
+</method>
+<method name="set" + return="com.iciql.UpdateColumnSet<T, java.lang.Long>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="long">
+</parameter>
+</method>
+<method name="set" + return="com.iciql.UpdateColumnSet<T, java.lang.Short>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="short">
+</parameter>
+</method>
+<method name="toSQL" + return="java.lang.String" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="toSQL" + return="java.lang.String" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="distinct" type="boolean">
+</parameter>
+</method>
+<method name="toSQL" + return="java.lang.String" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="distinct" type="boolean">
+</parameter>
+<parameter name="k" type="K">
+</parameter>
+</method>
+<method name="update" + return="int" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="where" + return="com.iciql.QueryCondition<T, A>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="A">
+</parameter>
+</method>
+<method name="where" + return="com.iciql.QueryCondition<T, java.lang.Boolean>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="boolean">
+</parameter>
+</method>
+<method name="where" + return="com.iciql.QueryCondition<T, java.lang.Byte>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="byte">
+</parameter>
+</method>
+<method name="where" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="filter" type="com.iciql.Filter">
+</parameter>
+</method>
+<method name="where" + return="com.iciql.QueryCondition<T, java.lang.Double>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="double">
+</parameter>
+</method>
+<method name="where" + return="com.iciql.QueryCondition<T, java.lang.Float>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="float">
+</parameter>
+</method>
+<method name="where" + return="com.iciql.QueryCondition<T, java.lang.Integer>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="int">
+</parameter>
+</method>
+<method name="where" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="fragment" type="java.lang.String">
+</parameter>
+<parameter name="args" type="java.lang.Object...">
+</parameter>
+</method>
+<method name="where" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="fragment" type="java.lang.String">
+</parameter>
+<parameter name="args" type="java.util.List<?>">
+</parameter>
+</method>
+<method name="where" + return="com.iciql.QueryCondition<T, java.lang.Long>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="long">
+</parameter>
+</method>
+<method name="where" + return="com.iciql.QueryCondition<T, java.lang.Short>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="short">
+</parameter>
+</method>
+<method name="whereTrue" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="condition" type="java.lang.Boolean">
+</parameter>
+</method>
+</class>
+<class name="QueryBetween"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<constructor name="QueryBetween" + type="com.iciql.QueryBetween" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="query" type="com.iciql.Query<T>">
+</parameter>
+<parameter name="x" type="A">
+</parameter>
+<parameter name="y" type="A">
+</parameter>
+</constructor>
+<method name="and" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="z" type="A">
+</parameter>
+</method>
+</class>
+<class name="QueryCondition"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<method name="atLeast" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="y" type="A">
+</parameter>
+</method>
+<method name="atMost" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="y" type="A">
+</parameter>
+</method>
+<method name="atMostParameter" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="between" + return="com.iciql.QueryBetween<T, A>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="y" type="A">
+</parameter>
+</method>
+<method name="exceeds" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="y" type="A">
+</parameter>
+</method>
+<method name="exceedsParameter" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="is" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="y" type="A">
+</parameter>
+</method>
+<method name="isNot" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="y" type="A">
+</parameter>
+</method>
+<method name="isNotNull" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="isNotParameter" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="isNull" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="isParameter" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="lessThan" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="y" type="A">
+</parameter>
+</method>
+<method name="lessThanParameter" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="like" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="pattern" type="A">
+</parameter>
+</method>
+<method name="likeParameter" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+</class>
+<class name="QueryJoin"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<method name="on" + return="com.iciql.QueryJoinCondition<T, A>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="A">
+</parameter>
+</method>
+<method name="on" + return="com.iciql.QueryJoinCondition<T, java.lang.Boolean>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="boolean">
+</parameter>
+</method>
+<method name="on" + return="com.iciql.QueryJoinCondition<T, java.lang.Byte>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="byte">
+</parameter>
+</method>
+<method name="on" + return="com.iciql.QueryJoinCondition<T, java.lang.Double>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="double">
+</parameter>
+</method>
+<method name="on" + return="com.iciql.QueryJoinCondition<T, java.lang.Float>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="float">
+</parameter>
+</method>
+<method name="on" + return="com.iciql.QueryJoinCondition<T, java.lang.Integer>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="int">
+</parameter>
+</method>
+<method name="on" + return="com.iciql.QueryJoinCondition<T, java.lang.Long>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="long">
+</parameter>
+</method>
+<method name="on" + return="com.iciql.QueryJoinCondition<T, java.lang.Short>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="short">
+</parameter>
+</method>
+</class>
+<class name="QueryJoinCondition"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<method name="is" + return="com.iciql.Query<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="y" type="A">
+</parameter>
+</method>
+<method name="is" + return="com.iciql.Query<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="y" type="boolean">
+</parameter>
+</method>
+<method name="is" + return="com.iciql.Query<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="y" type="byte">
+</parameter>
+</method>
+<method name="is" + return="com.iciql.Query<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="y" type="double">
+</parameter>
+</method>
+<method name="is" + return="com.iciql.Query<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="y" type="float">
+</parameter>
+</method>
+<method name="is" + return="com.iciql.Query<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="y" type="int">
+</parameter>
+</method>
+<method name="is" + return="com.iciql.Query<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="y" type="long">
+</parameter>
+</method>
+<method name="is" + return="com.iciql.Query<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="y" type="short">
+</parameter>
+</method>
+</class>
+<class name="QueryWhere"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<method name="and" + return="com.iciql.QueryCondition<T, A>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="A">
+</parameter>
+</method>
+<method name="and" + return="com.iciql.QueryCondition<T, java.lang.Boolean>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="boolean">
+</parameter>
+</method>
+<method name="and" + return="com.iciql.QueryCondition<T, java.lang.Byte>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="byte">
+</parameter>
+</method>
+<method name="and" + return="com.iciql.QueryCondition<T, java.lang.Double>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="double">
+</parameter>
+</method>
+<method name="and" + return="com.iciql.QueryCondition<T, java.lang.Float>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="float">
+</parameter>
+</method>
+<method name="and" + return="com.iciql.QueryCondition<T, java.lang.Integer>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="int">
+</parameter>
+</method>
+<method name="and" + return="com.iciql.QueryCondition<T, java.lang.Long>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="long">
+</parameter>
+</method>
+<method name="and" + return="com.iciql.QueryCondition<T, java.lang.Short>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="short">
+</parameter>
+</method>
+<method name="delete" + return="int" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="getSQL" + return="java.lang.String" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="limit" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="limit" type="long">
+</parameter>
+</method>
+<method name="offset" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="offset" type="long">
+</parameter>
+</method>
+<method name="or" + return="com.iciql.QueryCondition<T, A>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="A">
+</parameter>
+</method>
+<method name="or" + return="com.iciql.QueryCondition<T, java.lang.Boolean>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="boolean">
+</parameter>
+</method>
+<method name="or" + return="com.iciql.QueryCondition<T, java.lang.Byte>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="byte">
+</parameter>
+</method>
+<method name="or" + return="com.iciql.QueryCondition<T, java.lang.Double>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="double">
+</parameter>
+</method>
+<method name="or" + return="com.iciql.QueryCondition<T, java.lang.Float>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="float">
+</parameter>
+</method>
+<method name="or" + return="com.iciql.QueryCondition<T, java.lang.Integer>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="int">
+</parameter>
+</method>
+<method name="or" + return="com.iciql.QueryCondition<T, java.lang.Long>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="long">
+</parameter>
+</method>
+<method name="or" + return="com.iciql.QueryCondition<T, java.lang.Short>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="short">
+</parameter>
+</method>
+<method name="orderBy" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="boolean">
+</parameter>
+</method>
+<method name="orderBy" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="byte">
+</parameter>
+</method>
+<method name="orderBy" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="double">
+</parameter>
+</method>
+<method name="orderBy" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="float">
+</parameter>
+</method>
+<method name="orderBy" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="int">
+</parameter>
+</method>
+<method name="orderBy" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="java.lang.Object">
+</parameter>
+</method>
+<method name="orderBy" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="expressions" type="java.lang.Object...">
+</parameter>
+</method>
+<method name="orderBy" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="long">
+</parameter>
+</method>
+<method name="orderBy" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="field" type="short">
+</parameter>
+</method>
+<method name="orderByDesc" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="expr" type="java.lang.Object">
+</parameter>
+</method>
+<method name="orderByDescNullsFirst" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="expr" type="java.lang.Object">
+</parameter>
+</method>
+<method name="orderByDescNullsLast" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="expr" type="java.lang.Object">
+</parameter>
+</method>
+<method name="orderByNullsFirst" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="expr" type="java.lang.Object">
+</parameter>
+</method>
+<method name="orderByNullsLast" + return="com.iciql.QueryWhere<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="expr" type="java.lang.Object">
+</parameter>
+</method>
+<method name="select" + return="java.util.List<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="select" + return="java.util.List<X>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="Z">
+</parameter>
+</method>
+<method name="selectCount" + return="long" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="selectDistinct" + return="java.util.List<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="selectDistinct" + return="java.util.List<X>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="Z">
+</parameter>
+</method>
+<method name="selectFirst" + return="T" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="selectFirst" + return="X" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="Z">
+</parameter>
+</method>
+<method name="toSQL" + return="java.lang.String" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="toSQL" + return="java.lang.String" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="distinct" type="boolean">
+</parameter>
+</method>
+<method name="toSQL" + return="java.lang.String" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="distinct" type="boolean">
+</parameter>
+<parameter name="k" type="K">
+</parameter>
+</method>
+<method name="update" + return="int" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+</class>
+<class name="RuntimeToken"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<implements name="com.iciql.Token">
+</implements>
+<constructor name="RuntimeToken" + type="com.iciql.RuntimeToken" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="fragment" type="java.lang.String">
+</parameter>
+<parameter name="args" type="java.lang.Object...">
+</parameter>
+</constructor>
+<method name="appendSQL" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="stat" type="com.iciql.SQLStatement">
+</parameter>
+<parameter name="query" type="com.iciql.Query<T>">
+</parameter>
+</method>
+</class>
+<interface name="SQLDialect"
+ abstract="true" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<method name="appendLimitOffset" + return="void" + abstract="true" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="stat" type="com.iciql.SQLStatement">
+</parameter>
+<parameter name="limit" type="long">
+</parameter>
+<parameter name="offset" type="long">
+</parameter>
+</method>
+<method name="configureDialect" + return="void" + abstract="true" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="databaseName" type="java.lang.String">
+</parameter>
+<parameter name="data" type="java.sql.DatabaseMetaData">
+</parameter>
+</method>
+<method name="convertSqlType" + return="java.lang.String" + abstract="true" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="sqlType" type="java.lang.String">
+</parameter>
+</method>
+<method name="getDateTimeClass" + return="java.lang.Class<? extends java.util.Date>" + abstract="true" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="prepareColumnName" + return="java.lang.String" + abstract="true" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="name" type="java.lang.String">
+</parameter>
+</method>
+<method name="prepareCreateIndex" + return="void" + abstract="true" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="stat" type="com.iciql.SQLStatement">
+</parameter>
+<parameter name="schemaName" type="java.lang.String">
+</parameter>
+<parameter name="tableName" type="java.lang.String">
+</parameter>
+<parameter name="index" type="com.iciql.TableDefinition.IndexDefinition">
+</parameter>
+</method>
+<method name="prepareCreateTable" + return="void" + abstract="true" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="stat" type="com.iciql.SQLStatement">
+</parameter>
+<parameter name="def" type="com.iciql.TableDefinition<T>">
+</parameter>
+</method>
+<method name="prepareDropTable" + return="void" + abstract="true" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="stat" type="com.iciql.SQLStatement">
+</parameter>
+<parameter name="def" type="com.iciql.TableDefinition<T>">
+</parameter>
+</method>
+<method name="prepareMerge" + return="void" + abstract="true" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="stat" type="com.iciql.SQLStatement">
+</parameter>
+<parameter name="schemaName" type="java.lang.String">
+</parameter>
+<parameter name="tableName" type="java.lang.String">
+</parameter>
+<parameter name="def" type="com.iciql.TableDefinition<T>">
+</parameter>
+<parameter name="obj" type="java.lang.Object">
+</parameter>
+</method>
+<method name="prepareParameter" + return="java.lang.String" + abstract="true" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="o" type="java.lang.Object">
+</parameter>
+</method>
+<method name="prepareTableName" + return="java.lang.String" + abstract="true" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="schemaName" type="java.lang.String">
+</parameter>
+<parameter name="tableName" type="java.lang.String">
+</parameter>
+</method>
+</interface>
+<class name="SQLDialectDefault"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<implements name="com.iciql.SQLDialect">
+</implements>
+<constructor name="SQLDialectDefault" + type="com.iciql.SQLDialectDefault" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</constructor>
+<method name="appendLimitOffset" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="stat" type="com.iciql.SQLStatement">
+</parameter>
+<parameter name="limit" type="long">
+</parameter>
+<parameter name="offset" type="long">
+</parameter>
+</method>
+<method name="configureDialect" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="databaseName" type="java.lang.String">
+</parameter>
+<parameter name="data" type="java.sql.DatabaseMetaData">
+</parameter>
+</method>
+<method name="convertSqlType" + return="java.lang.String" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="sqlType" type="java.lang.String">
+</parameter>
+</method>
+<method name="getDateTimeClass" + return="java.lang.Class<? extends java.util.Date>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="isIntegerType" + return="boolean" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="protected" +>
+<parameter name="dataType" type="java.lang.String">
+</parameter>
+</method>
+<method name="prepareColumnDefinition" + return="boolean" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="protected" +>
+<parameter name="buff" type="com.iciql.util.StatementBuilder">
+</parameter>
+<parameter name="dataType" type="java.lang.String">
+</parameter>
+<parameter name="isAutoIncrement" type="boolean">
+</parameter>
+<parameter name="isPrimaryKey" type="boolean">
+</parameter>
+</method>
+<method name="prepareColumnName" + return="java.lang.String" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="name" type="java.lang.String">
+</parameter>
+</method>
+<method name="prepareCreateIndex" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="stat" type="com.iciql.SQLStatement">
+</parameter>
+<parameter name="schemaName" type="java.lang.String">
+</parameter>
+<parameter name="tableName" type="java.lang.String">
+</parameter>
+<parameter name="index" type="com.iciql.TableDefinition.IndexDefinition">
+</parameter>
+</method>
+<method name="prepareCreateTable" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="stat" type="com.iciql.SQLStatement">
+</parameter>
+<parameter name="def" type="com.iciql.TableDefinition<T>">
+</parameter>
+</method>
+<method name="prepareCreateTable" + return="java.lang.String" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="protected" +>
+<parameter name="def" type="com.iciql.TableDefinition<T>">
+</parameter>
+</method>
+<method name="prepareDropTable" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="stat" type="com.iciql.SQLStatement">
+</parameter>
+<parameter name="def" type="com.iciql.TableDefinition<T>">
+</parameter>
+</method>
+<method name="prepareMerge" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="stat" type="com.iciql.SQLStatement">
+</parameter>
+<parameter name="schemaName" type="java.lang.String">
+</parameter>
+<parameter name="tableName" type="java.lang.String">
+</parameter>
+<parameter name="def" type="com.iciql.TableDefinition<T>">
+</parameter>
+<parameter name="obj" type="java.lang.Object">
+</parameter>
+</method>
+<method name="prepareParameter" + return="java.lang.String" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="o" type="java.lang.Object">
+</parameter>
+</method>
+<method name="prepareTableName" + return="java.lang.String" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="schemaName" type="java.lang.String">
+</parameter>
+<parameter name="tableName" type="java.lang.String">
+</parameter>
+</method>
+</class>
+<class name="SQLDialectDerby"
+ extends="com.iciql.SQLDialectDefault"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<constructor name="SQLDialectDerby" + type="com.iciql.SQLDialectDerby" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</constructor>
+</class>
+<class name="SQLDialectH2"
+ extends="com.iciql.SQLDialectDefault"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<constructor name="SQLDialectH2" + type="com.iciql.SQLDialectH2" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</constructor>
+</class>
+<class name="SQLDialectHSQL"
+ extends="com.iciql.SQLDialectDefault"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<constructor name="SQLDialectHSQL" + type="com.iciql.SQLDialectHSQL" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</constructor>
+</class>
+<class name="SQLDialectMySQL"
+ extends="com.iciql.SQLDialectDefault"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<constructor name="SQLDialectMySQL" + type="com.iciql.SQLDialectMySQL" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</constructor>
+</class>
+<class name="SQLDialectPostgreSQL"
+ extends="com.iciql.SQLDialectDefault"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<constructor name="SQLDialectPostgreSQL" + type="com.iciql.SQLDialectPostgreSQL" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</constructor>
+</class>
+<class name="SQLStatement"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<method name="addParameter" + return="com.iciql.SQLStatement" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="o" type="java.lang.Object">
+</parameter>
+</method>
+<method name="appendColumn" + return="com.iciql.SQLStatement" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="column" type="java.lang.String">
+</parameter>
+</method>
+<method name="appendSQL" + return="com.iciql.SQLStatement" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="s" type="java.lang.String">
+</parameter>
+</method>
+<method name="appendTable" + return="com.iciql.SQLStatement" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="schema" type="java.lang.String">
+</parameter>
+<parameter name="table" type="java.lang.String">
+</parameter>
+</method>
+<method name="setSQL" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="sql" type="java.lang.String">
+</parameter>
+</method>
+</class>
+<class name="TableDefinition"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<field name="fields" + type="java.util.ArrayList" + transient="false" + volatile="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</field>
+</class>
+<class name="TableDefinition.IndexDefinition"
+ extends="java.lang.Object"
+ abstract="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<constructor name="TableDefinition.IndexDefinition" + type="com.iciql.TableDefinition.IndexDefinition" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</constructor>
+<field name="columnNames" + type="java.util.List" + transient="false" + volatile="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</field>
+<field name="indexName" + type="java.lang.String" + transient="false" + volatile="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</field>
+<field name="type" + type="com.iciql.Iciql.IndexType" + transient="false" + volatile="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</field>
+</class>
+<class name="TableInspector"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</class>
+<class name="TestCondition"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<constructor name="TestCondition" + type="com.iciql.TestCondition" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="A">
+</parameter>
+</constructor>
+<method name="atLeast" + return="java.lang.Boolean" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="y" type="A">
+</parameter>
+</method>
+<method name="atMost" + return="java.lang.Boolean" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="y" type="A">
+</parameter>
+</method>
+<method name="exceeds" + return="java.lang.Boolean" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="y" type="A">
+</parameter>
+</method>
+<method name="is" + return="java.lang.Boolean" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="y" type="A">
+</parameter>
+</method>
+<method name="lessThan" + return="java.lang.Boolean" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="y" type="A">
+</parameter>
+</method>
+<method name="like" + return="java.lang.Boolean" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="pattern" type="A">
+</parameter>
+</method>
+</class>
+<interface name="Token"
+ abstract="true" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<method name="appendSQL" + return="void" + abstract="true" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="stat" type="com.iciql.SQLStatement">
+</parameter>
+<parameter name="query" type="com.iciql.Query<T>">
+</parameter>
+</method>
+</interface>
+<interface name="UpdateColumn"
+ abstract="true" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<method name="appendSQL" + return="void" + abstract="true" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="stat" type="com.iciql.SQLStatement">
+</parameter>
+</method>
+</interface>
+<class name="UpdateColumnIncrement"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<implements name="com.iciql.UpdateColumn">
+</implements>
+<method name="appendSQL" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="stat" type="com.iciql.SQLStatement">
+</parameter>
+</method>
+<method name="by" + return="com.iciql.Query<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="y" type="A">
+</parameter>
+</method>
+</class>
+<class name="UpdateColumnSet"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<implements name="com.iciql.UpdateColumn">
+</implements>
+<method name="appendSQL" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="stat" type="com.iciql.SQLStatement">
+</parameter>
+</method>
+<method name="to" + return="com.iciql.Query<T>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="y" type="A">
+</parameter>
+</method>
+</class>
+<class name="ValidationRemark"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<method name="consider" + return="com.iciql.ValidationRemark" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="table" type="java.lang.String">
+</parameter>
+<parameter name="col" type="com.iciql.TableInspector.ColumnInspector">
+</parameter>
+<parameter name="message" type="java.lang.String">
+</parameter>
+</method>
+<method name="consider" + return="com.iciql.ValidationRemark" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="table" type="java.lang.String">
+</parameter>
+<parameter name="type" type="java.lang.String">
+</parameter>
+<parameter name="message" type="java.lang.String">
+</parameter>
+</method>
+<method name="error" + return="com.iciql.ValidationRemark" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="table" type="java.lang.String">
+</parameter>
+<parameter name="field" type="com.iciql.TableDefinition.FieldDefinition">
+</parameter>
+<parameter name="message" type="java.lang.String">
+</parameter>
+</method>
+<method name="error" + return="com.iciql.ValidationRemark" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="table" type="java.lang.String">
+</parameter>
+<parameter name="col" type="com.iciql.TableInspector.ColumnInspector">
+</parameter>
+<parameter name="message" type="java.lang.String">
+</parameter>
+</method>
+<method name="error" + return="com.iciql.ValidationRemark" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="table" type="java.lang.String">
+</parameter>
+<parameter name="type" type="java.lang.String">
+</parameter>
+<parameter name="message" type="java.lang.String">
+</parameter>
+</method>
+<method name="isError" + return="boolean" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="throwError" + return="com.iciql.ValidationRemark" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="throwOnError" type="boolean">
+</parameter>
+</method>
+<method name="toCSVString" + return="java.lang.String" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="warn" + return="com.iciql.ValidationRemark" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="table" type="java.lang.String">
+</parameter>
+<parameter name="col" type="com.iciql.TableInspector.ColumnInspector">
+</parameter>
+<parameter name="message" type="java.lang.String">
+</parameter>
+</method>
+<method name="warn" + return="com.iciql.ValidationRemark" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="table" type="java.lang.String">
+</parameter>
+<parameter name="type" type="java.lang.String">
+</parameter>
+<parameter name="message" type="java.lang.String">
+</parameter>
+</method>
+<field name="fieldName" + type="java.lang.String" + transient="false" + volatile="false" + static="false" + final="true" + deprecated="not deprecated" + visibility="public" +>
+</field>
+<field name="fieldType" + type="java.lang.String" + transient="false" + volatile="false" + static="false" + final="true" + deprecated="not deprecated" + visibility="public" +>
+</field>
+<field name="level" + type="com.iciql.ValidationRemark.Level" + transient="false" + volatile="false" + static="false" + final="true" + deprecated="not deprecated" + visibility="public" +>
+</field>
+<field name="message" + type="java.lang.String" + transient="false" + volatile="false" + static="false" + final="true" + deprecated="not deprecated" + visibility="public" +>
+</field>
+<field name="table" + type="java.lang.String" + transient="false" + volatile="false" + static="false" + final="true" + deprecated="not deprecated" + visibility="public" +>
+</field>
+</class>
+<class name="ValidationRemark.Level"
+ extends="java.lang.Enum"
+ abstract="false" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +>
+<method name="valueOf" + return="com.iciql.ValidationRemark.Level" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="name" type="java.lang.String">
+</parameter>
+</method>
+<method name="values" + return="com.iciql.ValidationRemark.Level[]" + abstract="false" + native="false" + synchronized="false" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +>
+</method>
+</class>
+</package>
+<package name="com.iciql.bytecode" +>
+<class name="And"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<implements name="com.iciql.Token">
+</implements>
+<method name="appendSQL" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="stat" type="com.iciql.SQLStatement">
+</parameter>
+<parameter name="query" type="com.iciql.Query<T>">
+</parameter>
+</method>
+</class>
+<class name="ArrayGet"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<implements name="com.iciql.Token">
+</implements>
+<method name="appendSQL" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="stat" type="com.iciql.SQLStatement">
+</parameter>
+<parameter name="query" type="com.iciql.Query<T>">
+</parameter>
+</method>
+</class>
+<class name="CaseWhen"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<implements name="com.iciql.Token">
+</implements>
+<method name="appendSQL" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="stat" type="com.iciql.SQLStatement">
+</parameter>
+<parameter name="query" type="com.iciql.Query<T>">
+</parameter>
+</method>
+</class>
+<class name="ClassReader"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<constructor name="ClassReader" + type="com.iciql.bytecode.ClassReader" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</constructor>
+<method name="decompile" + return="com.iciql.Token" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="instance" type="java.lang.Object">
+</parameter>
+<parameter name="fields" type="java.util.Map<java.lang.String, java.lang.Object>">
+</parameter>
+<parameter name="method" type="java.lang.String">
+</parameter>
+</method>
+</class>
+<interface name="Constant"
+ abstract="true" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<implements name="com.iciql.Token">
+</implements>
+<method name="getType" + return="com.iciql.bytecode.Constant.Type" + abstract="true" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="intValue" + return="int" + abstract="true" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+</interface>
+<class name="Constant.Type"
+ extends="java.lang.Enum"
+ abstract="false" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +>
+<method name="valueOf" + return="com.iciql.bytecode.Constant.Type" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="name" type="java.lang.String">
+</parameter>
+</method>
+<method name="values" + return="com.iciql.bytecode.Constant.Type[]" + abstract="false" + native="false" + synchronized="false" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +>
+</method>
+</class>
+<class name="ConstantNumber"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<implements name="com.iciql.bytecode.Constant">
+</implements>
+<method name="appendSQL" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="stat" type="com.iciql.SQLStatement">
+</parameter>
+<parameter name="query" type="com.iciql.Query<T>">
+</parameter>
+</method>
+<method name="getType" + return="com.iciql.bytecode.Constant.Type" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="intValue" + return="int" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+</class>
+<class name="ConstantString"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<implements name="com.iciql.bytecode.Constant">
+</implements>
+<method name="appendSQL" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="stat" type="com.iciql.SQLStatement">
+</parameter>
+<parameter name="query" type="com.iciql.Query<T>">
+</parameter>
+</method>
+<method name="getType" + return="com.iciql.bytecode.Constant.Type" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="intValue" + return="int" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+</class>
+<class name="Not"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<implements name="com.iciql.Token">
+</implements>
+<method name="appendSQL" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="stat" type="com.iciql.SQLStatement">
+</parameter>
+<parameter name="query" type="com.iciql.Query<T>">
+</parameter>
+</method>
+</class>
+<class name="Null"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<implements name="com.iciql.Token">
+</implements>
+<method name="appendSQL" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="stat" type="com.iciql.SQLStatement">
+</parameter>
+<parameter name="query" type="com.iciql.Query<T>">
+</parameter>
+</method>
+</class>
+<class name="Or"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<implements name="com.iciql.Token">
+</implements>
+<method name="appendSQL" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="stat" type="com.iciql.SQLStatement">
+</parameter>
+<parameter name="query" type="com.iciql.Query<T>">
+</parameter>
+</method>
+</class>
+<class name="Variable"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<implements name="com.iciql.Token">
+</implements>
+<method name="appendSQL" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="stat" type="com.iciql.SQLStatement">
+</parameter>
+<parameter name="query" type="com.iciql.Query<T>">
+</parameter>
+</method>
+</class>
+</package>
+<package name="com.iciql.util" +>
+<class name="GenerateModels"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<constructor name="GenerateModels" + type="com.iciql.util.GenerateModels" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</constructor>
+<method name="execute" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="url" type="java.lang.String">
+</parameter>
+<parameter name="user" type="java.lang.String">
+</parameter>
+<parameter name="password" type="java.lang.String">
+</parameter>
+<parameter name="schema" type="java.lang.String">
+</parameter>
+<parameter name="table" type="java.lang.String">
+</parameter>
+<parameter name="packageName" type="java.lang.String">
+</parameter>
+<parameter name="folder" type="java.lang.String">
+</parameter>
+<parameter name="annotateSchema" type="boolean">
+</parameter>
+<parameter name="trimStrings" type="boolean">
+</parameter>
+<exception name="SQLException" type="java.sql.SQLException">
+</exception>
+</method>
+<method name="main" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="args" type="java.lang.String...">
+</parameter>
+</method>
+<method name="runTool" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="args" type="java.lang.String...">
+</parameter>
+<exception name="SQLException" type="java.sql.SQLException">
+</exception>
+</method>
+<method name="showUsage" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="protected" +>
+</method>
+<method name="throwUnsupportedOption" + return="java.sql.SQLException" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="protected" +>
+<parameter name="option" type="java.lang.String">
+</parameter>
+<exception name="SQLException" type="java.sql.SQLException">
+</exception>
+</method>
+<field name="out" + type="java.io.PrintStream" + transient="false" + volatile="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="protected" +>
+</field>
+</class>
+<class name="IciqlLogger"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<constructor name="IciqlLogger" + type="com.iciql.util.IciqlLogger" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</constructor>
+<method name="activateConsoleLogger" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="create" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="statement" type="java.lang.String">
+</parameter>
+</method>
+<method name="deactivateConsoleLogger" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="delete" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="statement" type="java.lang.String">
+</parameter>
+</method>
+<method name="drop" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="statement" type="java.lang.String">
+</parameter>
+</method>
+<method name="getCreateCount" + return="long" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="getDeleteCount" + return="long" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="getDropCount" + return="long" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="getInsertCount" + return="long" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="getMergeCount" + return="long" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="getSelectCount" + return="long" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="getTotalCount" + return="long" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="getUpdateCount" + return="long" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="getWarnCount" + return="long" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="insert" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="statement" type="java.lang.String">
+</parameter>
+</method>
+<method name="logStats" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="merge" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="statement" type="java.lang.String">
+</parameter>
+</method>
+<method name="registerListener" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="listener" type="com.iciql.util.IciqlLogger.IciqlListener">
+</parameter>
+</method>
+<method name="select" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="statement" type="java.lang.String">
+</parameter>
+</method>
+<method name="unregisterListener" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="listener" type="com.iciql.util.IciqlLogger.IciqlListener">
+</parameter>
+</method>
+<method name="update" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="statement" type="java.lang.String">
+</parameter>
+</method>
+<method name="warn" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="message" type="java.lang.String">
+</parameter>
+<parameter name="args" type="java.lang.Object...">
+</parameter>
+</method>
+</class>
+<interface name="IciqlLogger.IciqlListener"
+ abstract="true" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<method name="logIciql" + return="void" + abstract="true" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="type" type="com.iciql.util.IciqlLogger.StatementType">
+</parameter>
+<parameter name="statement" type="java.lang.String">
+</parameter>
+</method>
+</interface>
+<class name="IciqlLogger.StatementType"
+ extends="java.lang.Enum"
+ abstract="false" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +>
+<method name="valueOf" + return="com.iciql.util.IciqlLogger.StatementType" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="name" type="java.lang.String">
+</parameter>
+</method>
+<method name="values" + return="com.iciql.util.IciqlLogger.StatementType[]" + abstract="false" + native="false" + synchronized="false" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +>
+</method>
+</class>
+<class name="JdbcUtils"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<method name="closeSilently" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="conn" type="java.sql.Connection">
+</parameter>
+</method>
+<method name="closeSilently" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="rs" type="java.sql.ResultSet">
+</parameter>
+</method>
+<method name="closeSilently" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="rs" type="java.sql.ResultSet">
+</parameter>
+<parameter name="closeStatement" type="boolean">
+</parameter>
+</method>
+<method name="closeSilently" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="stat" type="java.sql.Statement">
+</parameter>
+</method>
+<method name="closeSilently" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="conn" type="javax.sql.XAConnection">
+</parameter>
+</method>
+<method name="escapeMetaDataPattern" + return="java.lang.String" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="pattern" type="java.lang.String">
+</parameter>
+</method>
+<method name="getConnection" + return="java.sql.Connection" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="driver" type="java.lang.String">
+</parameter>
+<parameter name="url" type="java.lang.String">
+</parameter>
+<parameter name="user" type="java.lang.String">
+</parameter>
+<parameter name="password" type="java.lang.String">
+</parameter>
+<exception name="SQLException" type="java.sql.SQLException">
+</exception>
+</method>
+<method name="getConnection" + return="java.sql.Connection" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="driver" type="java.lang.String">
+</parameter>
+<parameter name="url" type="java.lang.String">
+</parameter>
+<parameter name="prop" type="java.util.Properties">
+</parameter>
+<exception name="SQLException" type="java.sql.SQLException">
+</exception>
+</method>
+<method name="getDriver" + return="java.lang.String" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="url" type="java.lang.String">
+</parameter>
+</method>
+<method name="load" + return="void" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="url" type="java.lang.String">
+</parameter>
+</method>
+</class>
+<class name="Slf4jIciqlListener"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<implements name="com.iciql.util.IciqlLogger.IciqlListener">
+</implements>
+<constructor name="Slf4jIciqlListener" + type="com.iciql.util.Slf4jIciqlListener" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</constructor>
+<constructor name="Slf4jIciqlListener" + type="com.iciql.util.Slf4jIciqlListener" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="defaultLevel" type="com.iciql.util.Slf4jIciqlListener.Level">
+</parameter>
+</constructor>
+<method name="logIciql" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="type" type="com.iciql.util.IciqlLogger.StatementType">
+</parameter>
+<parameter name="statement" type="java.lang.String">
+</parameter>
+</method>
+<method name="setLevel" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="type" type="com.iciql.util.IciqlLogger.StatementType">
+</parameter>
+<parameter name="level" type="com.iciql.util.Slf4jIciqlListener.Level">
+</parameter>
+</method>
+</class>
+<class name="Slf4jIciqlListener.Level"
+ extends="java.lang.Enum"
+ abstract="false" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +>
+<method name="valueOf" + return="com.iciql.util.Slf4jIciqlListener.Level" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="name" type="java.lang.String">
+</parameter>
+</method>
+<method name="values" + return="com.iciql.util.Slf4jIciqlListener.Level[]" + abstract="false" + native="false" + synchronized="false" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +>
+</method>
+</class>
+<class name="StatementBuilder"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<constructor name="StatementBuilder" + type="com.iciql.util.StatementBuilder" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</constructor>
+<constructor name="StatementBuilder" + type="com.iciql.util.StatementBuilder" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="string" type="java.lang.String">
+</parameter>
+</constructor>
+<method name="append" + return="com.iciql.util.StatementBuilder" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="c" type="char">
+</parameter>
+</method>
+<method name="append" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="sb" type="com.iciql.util.StatementBuilder">
+</parameter>
+</method>
+<method name="append" + return="com.iciql.util.StatementBuilder" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="s" type="java.lang.String">
+</parameter>
+</method>
+<method name="append" + return="com.iciql.util.StatementBuilder" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="long">
+</parameter>
+</method>
+<method name="appendExceptFirst" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="s" type="java.lang.String">
+</parameter>
+</method>
+<method name="appendOnlyFirst" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="s" type="java.lang.String">
+</parameter>
+</method>
+<method name="getCount" + return="int" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="insert" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="offset" type="int">
+</parameter>
+<parameter name="c" type="char">
+</parameter>
+</method>
+<method name="length" + return="int" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="resetCount" + return="com.iciql.util.StatementBuilder" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+</class>
+<class name="StringUtils"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<constructor name="StringUtils" + type="com.iciql.util.StringUtils" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</constructor>
+<method name="arraySplit" + return="java.lang.String[]" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="s" type="java.lang.String">
+</parameter>
+<parameter name="separatorChar" type="char">
+</parameter>
+<parameter name="trim" type="boolean">
+</parameter>
+</method>
+<method name="breakLinesForHtml" + return="java.lang.String" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="string" type="java.lang.String">
+</parameter>
+</method>
+<method name="calculateSHA1" + return="java.lang.String" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="bytes" type="byte[]">
+</parameter>
+</method>
+<method name="calculateSHA1" + return="java.lang.String" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="text" type="java.lang.String">
+</parameter>
+</method>
+<method name="count" + return="int" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="c" type="char">
+</parameter>
+<parameter name="value" type="java.lang.String">
+</parameter>
+</method>
+<method name="escapeForHtml" + return="java.lang.String" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="inStr" type="java.lang.String">
+</parameter>
+<parameter name="changeSpace" type="boolean">
+</parameter>
+</method>
+<method name="isNullOrEmpty" + return="boolean" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="s" type="java.lang.String">
+</parameter>
+</method>
+<method name="javaEncode" + return="java.lang.String" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="s" type="java.lang.String">
+</parameter>
+</method>
+<method name="pad" + return="java.lang.String" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="string" type="java.lang.String">
+</parameter>
+<parameter name="n" type="int">
+</parameter>
+<parameter name="padding" type="java.lang.String">
+</parameter>
+<parameter name="right" type="boolean">
+</parameter>
+</method>
+<method name="quoteStringSQL" + return="java.lang.String" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="s" type="java.lang.String">
+</parameter>
+</method>
+<method name="readContent" + return="java.lang.String" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="file" type="java.io.File">
+</parameter>
+<parameter name="lineEnding" type="java.lang.String">
+</parameter>
+</method>
+<method name="replaceAll" + return="java.lang.String" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="s" type="java.lang.String">
+</parameter>
+<parameter name="before" type="java.lang.String">
+</parameter>
+<parameter name="after" type="java.lang.String">
+</parameter>
+</method>
+</class>
+<class name="Utils"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<constructor name="Utils" + type="com.iciql.util.Utils" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</constructor>
+<method name="convert" + return="java.lang.Object" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="o" type="java.lang.Object">
+</parameter>
+<parameter name="targetType" type="java.lang.Class<?>">
+</parameter>
+</method>
+<method name="convertEnum" + return="java.lang.Object" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="o" type="java.lang.Enum<?>">
+</parameter>
+<parameter name="type" type="com.iciql.Iciql.EnumType">
+</parameter>
+</method>
+<method name="convertEnum" + return="java.lang.Object" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="o" type="java.lang.Object">
+</parameter>
+<parameter name="targetType" type="java.lang.Class<?>">
+</parameter>
+<parameter name="type" type="com.iciql.Iciql.EnumType">
+</parameter>
+</method>
+<method name="getClass" + return="java.lang.Class<X>" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="x" type="X">
+</parameter>
+</method>
+<method name="isSimpleType" + return="boolean" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="clazz" type="java.lang.Class<T>">
+</parameter>
+</method>
+<method name="loadClass" + return="java.lang.Class<?>" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="className" type="java.lang.String">
+</parameter>
+</method>
+<method name="newArrayList" + return="java.util.ArrayList<T>" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="newArrayList" + return="java.util.ArrayList<T>" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="c" type="java.util.Collection<T>">
+</parameter>
+</method>
+<method name="newHashMap" + return="java.util.HashMap<A, B>" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="newHashSet" + return="java.util.HashSet<T>" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="newHashSet" + return="java.util.HashSet<T>" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="list" type="java.util.Collection<T>">
+</parameter>
+</method>
+<method name="newIdentityHashMap" + return="java.util.IdentityHashMap<A, B>" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="newObject" + return="T" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="clazz" type="java.lang.Class<T>">
+</parameter>
+</method>
+<method name="newSynchronizedHashMap" + return="java.util.Map<A, B>" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="newThreadLocal" + return="java.lang.ThreadLocal<T>" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="clazz" type="java.lang.Class<? extends T>">
+</parameter>
+</method>
+<method name="readBlobAndClose" + return="byte[]" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="in" type="java.io.InputStream">
+</parameter>
+<parameter name="length" type="int">
+</parameter>
+<exception name="IOException" type="java.io.IOException">
+</exception>
+</method>
+<method name="readStringAndClose" + return="java.lang.String" + abstract="false" + native="false" + synchronized="false" + static="true" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="in" type="java.io.Reader">
+</parameter>
+<parameter name="length" type="int">
+</parameter>
+<exception name="IOException" type="java.io.IOException">
+</exception>
+</method>
+<field name="AS_COUNTER" + type="java.util.concurrent.atomic.AtomicInteger" + transient="false" + volatile="false" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +>
+</field>
+<field name="COUNTER" + type="java.util.concurrent.atomic.AtomicLong" + transient="false" + volatile="false" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +>
+</field>
+</class>
+<class name="WeakIdentityHashMap"
+ extends="java.lang.Object"
+ abstract="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<implements name="java.util.Map">
+</implements>
+<constructor name="WeakIdentityHashMap" + type="com.iciql.util.WeakIdentityHashMap" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</constructor>
+<method name="clear" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="containsKey" + return="boolean" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="key" type="java.lang.Object">
+</parameter>
+</method>
+<method name="containsValue" + return="boolean" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="value" type="java.lang.Object">
+</parameter>
+</method>
+<method name="entrySet" + return="java.util.Set<java.util.Map.Entry<K, V>>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="get" + return="V" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="key" type="java.lang.Object">
+</parameter>
+</method>
+<method name="isEmpty" + return="boolean" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="keySet" + return="java.util.Set<K>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="put" + return="V" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="key" type="K">
+</parameter>
+<parameter name="value" type="V">
+</parameter>
+</method>
+<method name="putAll" + return="void" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="m" type="java.util.Map<? extends K, ? extends V>">
+</parameter>
+</method>
+<method name="remove" + return="V" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+<parameter name="key" type="java.lang.Object">
+</parameter>
+</method>
+<method name="size" + return="int" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+<method name="values" + return="java.util.Collection<V>" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +>
+</method>
+</class>
+</package>
+</api>
diff --git a/docs/05_releases.mkd b/docs/05_releases.mkd index 685120b..40f6cb8 100644 --- a/docs/05_releases.mkd +++ b/docs/05_releases.mkd @@ -6,6 +6,15 @@ **%VERSION%** ([zip](http://code.google.com/p/iciql/downloads/detail?name=%ZIP%)|[jar](http://code.google.com/p/iciql/downloads/detail?name=%JAR%)) *released %BUILDDATE%*
+- Replaced non-threadsafe counter used for assigning AS identifiers in JOIN statements with an AtomicInteger
+- Prevent negative rollover of the AS counter
+- Added optional alias parameter to *Query.toSQL* and *QueryWhere.toSQL* to force generated statement to prefix an AS identifier or, alternatively, the tablename.
+ - Query.toSQL(boolean distinct, K alias)
+ - QueryWhere.toSQL(boolean distinct, K alias)
+- Fixed bug in Query.select(Z z) which assumed that Z must always be an anonymous inner class which may not always be true. This allows for specifying an existing alias to force table or identifier usage in the generated select list. This is very useful for DISTINCT JOIN statements where only the columns of the primary table are of interest.
+
+**0.7.7** *released 2012-01-05*
+
- added *Query.toSQL()* and *QueryWhere.toSQL()* methods which, when combined with the following new methods, allows for generation of a parameterized, static sql string to be reused with a dynamic query or a PreparedStatement.
- QueryCondition.isParameter()
- QueryCondition.atLeastParameter()
diff --git a/src/com/iciql/Constants.java b/src/com/iciql/Constants.java index 85a6738..5fd1dec 100644 --- a/src/com/iciql/Constants.java +++ b/src/com/iciql/Constants.java @@ -25,14 +25,14 @@ public class Constants { // The build script extracts this exact line so be careful editing it
// and only use A-Z a-z 0-9 .-_ in the string.
- public static final String VERSION = "0.7.7";
+ public static final String VERSION = "0.7.8";
// The build script extracts this exact line so be careful editing it
// and only use A-Z a-z 0-9 .-_ in the string.
- public static final String VERSION_DATE = "2012-01-05";
+ public static final String VERSION_DATE = "2012-01-11";
// The build script extracts this exact line so be careful editing it
// and only use A-Z a-z 0-9 .-_ in the string.
- public static final String API_CURRENT = "11";
+ public static final String API_CURRENT = "12";
}
diff --git a/src/com/iciql/Query.java b/src/com/iciql/Query.java index e656c0d..fb193a0 100644 --- a/src/com/iciql/Query.java +++ b/src/com/iciql/Query.java @@ -126,7 +126,7 @@ public class Query<T> { public String toSQL() {
return toSQL(false);
}
-
+
/**
* toSQL returns a static string version of the query with runtime variables
* properly encoded. This method is also useful when combined with the where
@@ -136,10 +136,55 @@ public class Query<T> { * @param distinct
* if true SELECT DISTINCT is used for the query
* @return the sql query as plain text
- */
+ */
public String toSQL(boolean distinct) {
- SQLStatement stat = getSelectStatement(distinct);
- stat.appendSQL("*");
+ return toSQL(distinct, null);
+ }
+
+ /**
+ * toSQL returns a static string version of the query with runtime variables
+ * properly encoded. This method is also useful when combined with the where
+ * clause methods like isParameter() or atLeastParameter() which allows
+ * iciql to generate re-usable parameterized string statements.
+ *
+ * @param distinct
+ * if true SELECT DISTINCT is used for the query
+ * @param k
+ * k is used to select only the columns of the specified alias
+ * for an inner join statement. An example of a generated
+ * statement is: SELECT DISTINCT t1.* FROM sometable AS t1 INNER
+ * JOIN othertable AS t2 ON t1.id = t2.id WHERE t2.flag = true
+ * without the alias parameter the statement would start with
+ * SELECT DISTINCT * FROM...
+ * @return the sql query as plain text
+ */
+ public <K> String toSQL(boolean distinct, K k) {
+ SQLStatement stat = new SQLStatement(getDb());
+ stat.appendSQL("SELECT ");
+ if (distinct) {
+ stat.appendSQL("DISTINCT ");
+ }
+ if (k != null) {
+ SelectTable<?> sel = getSelectTable(k);
+ if (sel == null) {
+ // unknown alias, use wildcard
+ IciqlLogger.warn("Alias {0} is not defined in the statement!", k.getClass());
+ stat.appendSQL("*");
+ } else if (isJoin()) {
+ // join query, use AS alias
+ String as = sel.getAs();
+ stat.appendSQL(as + ".*");
+ } else {
+ // schema.table.*
+ String schema = sel.getAliasDefinition().schemaName;
+ String table = sel.getAliasDefinition().tableName;
+ String as = getDb().getDialect().prepareTableName(schema, table);
+ stat.appendSQL(as + ".*");
+ }
+ } else {
+ // alias unspecified, use wildcard
+ stat.appendSQL("*");
+ }
appendFromWhere(stat);
return stat.toSQL().trim();
}
@@ -289,7 +334,11 @@ public class Query<T> { if (Utils.isSimpleType(clazz)) {
return selectSimple((X) x, distinct);
}
- clazz = clazz.getSuperclass();
+ Class<?> enclosingClass = clazz.getEnclosingClass();
+ if (enclosingClass != null) {
+ // anonymous inner class
+ clazz = clazz.getSuperclass();
+ }
return select((Class<X>) clazz, (X) x, distinct);
}
@@ -794,6 +843,19 @@ public class Query<T> { return !joins.isEmpty();
}
+ SelectTable<?> getSelectTable(Object alias) {
+ if (from.getAlias() == alias) {
+ return from;
+ } else {
+ for (SelectTable<?> join : joins) {
+ if (join.getAlias() == alias) {
+ return join;
+ }
+ }
+ }
+ return null;
+ }
+
/**
* This method returns a mapped Object field by its reference.
*
diff --git a/src/com/iciql/QueryWhere.java b/src/com/iciql/QueryWhere.java index 7503ea1..31228c9 100644 --- a/src/com/iciql/QueryWhere.java +++ b/src/com/iciql/QueryWhere.java @@ -252,7 +252,7 @@ public class QueryWhere<T> { * @return the sql query as plain text
*/
public String toSQL() {
- return this.toSQL(false);
+ return query.toSQL(false);
}
/**
@@ -266,14 +266,28 @@ public class QueryWhere<T> { * @return the sql query as plain text
*/
public String toSQL(boolean distinct) {
- SQLStatement stat = new SQLStatement(query.getDb());
- if (distinct) {
- stat.appendSQL("SELECT DISTINCT *");
- } else {
- stat.appendSQL("SELECT *");
- }
- query.appendFromWhere(stat);
- return stat.toSQL().trim();
+ return query.toSQL(distinct);
+ }
+
+ /**
+ * toSQL returns a static string version of the query with runtime variables
+ * properly encoded. This method is also useful when combined with the where
+ * clause methods like isParameter() or atLeastParameter() which allows
+ * iciql to generate re-usable parameterized string statements.
+ *
+ * @param distinct
+ * if true SELECT DISTINCT is used for the query
+ * @param k
+ * k is used to select only the columns of the specified alias
+ * for an inner join statement. An example of a generated
+ * statement is: SELECT DISTINCT t1.* FROM sometable AS t1 INNER
+ * JOIN othertable AS t2 ON t1.id = t2.id WHERE t2.flag = true
+ * without the alias parameter the statement would start with
+ * SELECT DISTINCT * FROM...
+ * @return the sql query as plain text
+ */
+ public <K> String toSQL(boolean distinct, K k) {
+ return query.toSQL(distinct, k);
}
public <X, Z> List<X> select(Z x) {
diff --git a/src/com/iciql/SelectTable.java b/src/com/iciql/SelectTable.java index 7c5017c..37b42c4 100644 --- a/src/com/iciql/SelectTable.java +++ b/src/com/iciql/SelectTable.java @@ -30,7 +30,6 @@ import com.iciql.util.Utils; class SelectTable<T> {
- private static int asCounter;
private Query<T> query;
private Class<T> clazz;
private T current;
@@ -47,7 +46,7 @@ class SelectTable<T> { this.outerJoin = outerJoin;
aliasDef = (TableDefinition<T>) db.getTableDefinition(alias.getClass());
clazz = Utils.getClass(alias);
- as = "T" + asCounter++;
+ as = "T" + Utils.nextAsCount();
}
T getAlias() {
diff --git a/src/com/iciql/TableDefinition.java b/src/com/iciql/TableDefinition.java index b85b941..1d9a98a 100644 --- a/src/com/iciql/TableDefinition.java +++ b/src/com/iciql/TableDefinition.java @@ -418,16 +418,16 @@ public class TableDefinition<T> { "Can not explicitly reference a primitive boolean if there are multiple boolean fields in your model class!");
}
}
-
+
void checkMultipleEnums(Object o) {
- if (o == null) {
- return;
- }
+ if (o == null) {
+ return;
+ }
Class<?> clazz = o.getClass();
if (!clazz.isEnum()) {
return;
}
-
+
int fieldCount = 0;
for (FieldDefinition fieldDef : fields) {
Class<?> targetType = fieldDef.field.getType();
@@ -435,10 +435,11 @@ public class TableDefinition<T> { fieldCount++;
}
}
-
+
if (fieldCount > 1) {
throw new IciqlException(
- "Can not explicitly reference {0} because there are {1} {0} fields in your model class!", clazz.getSimpleName(), fieldCount);
+ "Can not explicitly reference {0} because there are {1} {0} fields in your model class!",
+ clazz.getSimpleName(), fieldCount);
}
}
@@ -820,10 +821,25 @@ public class TableDefinition<T> { }
<Y, X> void appendSelectList(SQLStatement stat, Query<Y> query, X x) {
+ // select t0.col1, t0.col2, t0.col3...
+ // select table1.col1, table1.col2, table1.col3...
+ String selectDot = "";
+ SelectTable<?> sel = query.getSelectTable(x);
+ if (sel != null) {
+ if (query.isJoin()) {
+ selectDot = sel.getAs() + ".";
+ } else {
+ String sn = sel.getAliasDefinition().schemaName;
+ String tn = sel.getAliasDefinition().tableName;
+ selectDot = query.getDb().getDialect().prepareTableName(sn, tn) + ".";
+ }
+ }
+
for (int i = 0; i < fields.size(); i++) {
if (i > 0) {
stat.appendSQL(", ");
}
+ stat.appendSQL(selectDot);
FieldDefinition def = fields.get(i);
if (def.isPrimitive) {
Object obj = def.getValue(x);
diff --git a/src/com/iciql/util/Utils.java b/src/com/iciql/util/Utils.java index 44792c7..77110b8 100644 --- a/src/com/iciql/util/Utils.java +++ b/src/com/iciql/util/Utils.java @@ -35,6 +35,7 @@ import java.util.HashSet; import java.util.IdentityHashMap;
import java.util.Map;
import java.util.UUID;
+import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;
import com.iciql.Iciql.EnumId;
@@ -47,10 +48,22 @@ import com.iciql.IciqlException; public class Utils {
public static final AtomicLong COUNTER = new AtomicLong(0);
+
+ public static final AtomicInteger AS_COUNTER = new AtomicInteger(0);
private static final boolean MAKE_ACCESSIBLE = true;
private static final int BUFFER_BLOCK_SIZE = 4 * 1024;
+
+ public static synchronized int nextAsCount() {
+ // prevent negative values and use a threadsafe counter
+ int count = AS_COUNTER.incrementAndGet();
+ if (count == Integer.MAX_VALUE) {
+ count = 0;
+ AS_COUNTER.set(count);
+ }
+ return count;
+ }
@SuppressWarnings("unchecked")
public static <X> Class<X> getClass(X x) {
diff --git a/tests/com/iciql/test/RuntimeQueryTest.java b/tests/com/iciql/test/RuntimeQueryTest.java index 9b306df..bb43a4f 100644 --- a/tests/com/iciql/test/RuntimeQueryTest.java +++ b/tests/com/iciql/test/RuntimeQueryTest.java @@ -19,6 +19,7 @@ import static org.junit.Assert.assertEquals; import java.sql.ResultSet;
import java.sql.SQLException;
+import java.text.MessageFormat;
import java.text.SimpleDateFormat;
import java.util.List;
@@ -26,10 +27,12 @@ import org.junit.Assume; import org.junit.Test;
import com.iciql.Db;
+import com.iciql.QueryWhere;
import com.iciql.test.models.EnumModels.Tree;
import com.iciql.test.models.Product;
import com.iciql.test.models.StaticQueries;
import com.iciql.util.JdbcUtils;
+import com.iciql.util.Utils;
/**
* Tests the runtime dynamic query function.
@@ -81,6 +84,46 @@ public class RuntimeQueryTest { }
@Test
+ public void testRuntimeSelectWildcards() {
+ Db db = IciqlSuite.openNewDb();
+
+ // do not test non-H2 databases because dialects will get in the way
+ // e.g. column quoting, etc
+ Assume.assumeTrue(IciqlSuite.isH2(db));
+
+ StaticQueries.StaticModel1 m1 = new StaticQueries.StaticModel1();
+ StaticQueries.StaticModel2 m2 = new StaticQueries.StaticModel2();
+ StaticQueries.StaticModel2 m3 = new StaticQueries.StaticModel2();
+
+ int t0 = Utils.AS_COUNTER.get() + 1;
+ int t1 = t0 + 1;
+
+ QueryWhere<?> where = db.from(m1).innerJoin(m2).on(m1.id).is(m2.id).where(m2.myTree).is(Tree.MAPLE);
+ String q1 = where.toSQL(false);
+ String q2 = where.toSQL(true);
+ String q3 = where.toSQL(false, m1);
+ String q4 = where.toSQL(true, m1);
+ String q5 = where.toSQL(false, m2);
+ String q6 = where.toSQL(true, m2);
+
+ // test unused alias
+ String q7 = where.toSQL(true, m3);
+
+ db.close();
+
+ assertEquals(MessageFormat.format("SELECT * FROM StaticQueryTest1 AS T{0,number,0} INNER JOIN StaticQueryTest2 AS T{1,number,0} ON T{0,number,0}.id = T{1,number,0}.id WHERE T{1,number,0}.myTree = 50", t0, t1), q1);
+ assertEquals(MessageFormat.format("SELECT DISTINCT * FROM StaticQueryTest1 AS T{0,number,0} INNER JOIN StaticQueryTest2 AS T{1,number,0} ON T{0,number,0}.id = T{1,number,0}.id WHERE T{1,number,0}.myTree = 50", t0, t1), q2);
+
+ assertEquals(MessageFormat.format("SELECT T{0,number,0}.* FROM StaticQueryTest1 AS T{0,number,0} INNER JOIN StaticQueryTest2 AS T{1,number,0} ON T{0,number,0}.id = T{1,number,0}.id WHERE T{1,number,0}.myTree = 50", t0, t1), q3);
+ assertEquals(MessageFormat.format("SELECT DISTINCT T{0,number,0}.* FROM StaticQueryTest1 AS T{0,number,0} INNER JOIN StaticQueryTest2 AS T{1,number,0} ON T{0,number,0}.id = T{1,number,0}.id WHERE T{1,number,0}.myTree = 50", t0, t1), q4);
+
+ assertEquals(MessageFormat.format("SELECT T{1,number,0}.* FROM StaticQueryTest1 AS T{0,number,0} INNER JOIN StaticQueryTest2 AS T{1,number,0} ON T{0,number,0}.id = T{1,number,0}.id WHERE T{1,number,0}.myTree = 50", t0, t1), q5);
+ assertEquals(MessageFormat.format("SELECT DISTINCT T{1,number,0}.* FROM StaticQueryTest1 AS T{0,number,0} INNER JOIN StaticQueryTest2 AS T{1,number,0} ON T{0,number,0}.id = T{1,number,0}.id WHERE T{1,number,0}.myTree = 50", t0, t1), q6);
+
+ assertEquals(MessageFormat.format("SELECT DISTINCT * FROM StaticQueryTest1 AS T{0,number,0} INNER JOIN StaticQueryTest2 AS T{1,number,0} ON T{0,number,0}.id = T{1,number,0}.id WHERE T{1,number,0}.myTree = 50", t0, t1), q7);
+ }
+
+ @Test
public void testRuntimeQuery() {
Db db = IciqlSuite.openNewDb();
db.insertAll(Product.getList());
diff --git a/tests/com/iciql/test/SamplesTest.java b/tests/com/iciql/test/SamplesTest.java index 5179d79..49a64f5 100644 --- a/tests/com/iciql/test/SamplesTest.java +++ b/tests/com/iciql/test/SamplesTest.java @@ -105,8 +105,10 @@ public class SamplesTest { Product p = new Product();
List<Product> soldOutProducts = db.from(p).where(p.unitsInStock).is(0).orderBy(p.productId).select();
+ List<Product> soldOutProducts2 = db.from(p).where(p.unitsInStock).is(0).orderBy(p.productId).select(p);
assertEquals("[Chef Anton's Gumbo Mix: 0]", soldOutProducts.toString());
+ assertEquals(soldOutProducts.toString(), soldOutProducts2.toString());
}
@Test
|