You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by th...@apache.org on 2019/12/29 06:08:00 UTC

[commons-dbutils] branch master updated (430753d -> 568c83c)

This is an automated email from the ASF dual-hosted git repository.

thecarlhall pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/commons-dbutils.git.


    from 430753d  Update to latest commons-parent pom
     new b993cf2  Add missing package-info files
     new 8c8320c  Use checkstyle-plugin version from parent pom, and use latest checkstyle dependency Update junit, mockito to latest non-rc releases Correct checkstyle config based on updates
     new eda6b4a  Change from findbugs to spotbugs since findbugs is no longer maintained Add spotbugs exclusions for false positives
     new 0b4bf6f  Add checkstyle suppressions for false positives
     new 738c8ee  Mark a private static inner class as final Update license header on test class Add javadoc where missing or change to inheritDocs
     new 7cc841d  Suppress missing header false positive on props file
     new 2206aad  Add known difference for field accessibility going to private
     new 6579e80  Update changes for the next release.
     new 568c83c  Remove removed property for japicmp as of commons-parent:50. Will re-enable by file later when I figure out how to ignore a known breakage between major revisions.

The 9 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 checkstyle-suppressions.xml                        |  31 +
 checkstyle.xml                                     |  15 +-
 pmd-ruleset.xml => clirr-ignored.xml               |  28 +-
 pom.xml                                            |  59 +-
 sb-excludes.xml                                    |  37 +
 src/changes/changes.xml                            |  14 +-
 .../commons/dbutils/AbstractQueryRunner.java       |   4 +-
 .../commons/dbutils/BaseResultSetHandler.java      | 932 +++++----------------
 .../apache/commons/dbutils/BasicRowProcessor.java  |   2 +-
 .../org/apache/commons/dbutils/BeanProcessor.java  |   2 +-
 .../org/apache/commons/dbutils/OutParameter.java   |  17 +-
 .../commons/dbutils/StatementConfiguration.java    |  31 +-
 .../commons/dbutils/annotations/package-info.java  |   5 +
 .../handlers/{ => columns}/package-info.java       |   4 +-
 .../handlers/properties/DatePropertyHandler.java   |   8 +-
 .../properties/StringEnumPropertyHandler.java      |   3 +
 .../dbutils/handlers/properties/package-info.java} |   8 +-
 .../apache/commons/dbutils/OutParameterTest.java   |  11 +-
 18 files changed, 394 insertions(+), 817 deletions(-)
 create mode 100644 checkstyle-suppressions.xml
 copy pmd-ruleset.xml => clirr-ignored.xml (50%)
 create mode 100644 sb-excludes.xml
 copy license-header.txt => src/main/java/org/apache/commons/dbutils/annotations/package-info.java (90%)
 copy src/main/java/org/apache/commons/dbutils/handlers/{ => columns}/package-info.java (86%)
 copy src/{test/java/org/apache/commons/dbutils/handlers/properties/TestEnum.java => main/java/org/apache/commons/dbutils/handlers/properties/package-info.java} (90%)


[commons-dbutils] 03/09: Change from findbugs to spotbugs since findbugs is no longer maintained Add spotbugs exclusions for false positives

Posted by th...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

thecarlhall pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-dbutils.git

commit eda6b4aad35621cbfa93d120dab26494da14ed2d
Author: Carl Hall <th...@apache.org>
AuthorDate: Fri Dec 27 22:13:47 2019 -0800

    Change from findbugs to spotbugs since findbugs is no longer maintained
    Add spotbugs exclusions for false positives
---
 pom.xml         | 26 +++++++++++++++++---------
 sb-excludes.xml | 37 +++++++++++++++++++++++++++++++++++++
 2 files changed, 54 insertions(+), 9 deletions(-)

diff --git a/pom.xml b/pom.xml
index 02e6407..7d01207 100644
--- a/pom.xml
+++ b/pom.xml
@@ -238,7 +238,8 @@
     <maven.compiler.source>1.7</maven.compiler.source>
     <maven.compiler.target>1.7</maven.compiler.target>
 
-    <checkstyle.version>8.27</checkstyle.version>
+    <dbutils.spotbugs.version>3.1.12</dbutils.spotbugs.version>
+    <dbutils.checkstyle.version>8.27</dbutils.checkstyle.version>
 
     <commons.componentid>dbutils</commons.componentid>
     <commons.module.name>org.apache.commons.dbutils</commons.module.name>
@@ -252,7 +253,7 @@
   </properties>
 
   <build>
-    <defaultGoal>clean verify apache-rat:check clirr:check checkstyle:check findbugs:check javadoc:javadoc</defaultGoal>
+    <defaultGoal>clean verify apache-rat:check clirr:check checkstyle:check spotbugs:check javadoc:javadoc</defaultGoal>
     <pluginManagement>
       <plugins>
         <plugin>
@@ -269,10 +270,20 @@
             <dependency>
               <groupId>com.puppycrawl.tools</groupId>
               <artifactId>checkstyle</artifactId>
-              <version>${checkstyle.version}</version>
+              <version>${dbutils.checkstyle.version}</version>
             </dependency>
           </dependencies>
         </plugin>
+        <plugin>
+          <groupId>com.github.spotbugs</groupId>
+          <artifactId>spotbugs-maven-plugin</artifactId>
+          <version>${dbutils.spotbugs.version}</version>
+          <configuration>
+            <threshold>Normal</threshold>
+            <effort>Default</effort>
+            <excludeFilterFile>sb-excludes.xml</excludeFilterFile>
+          </configuration>
+        </plugin>
       </plugins>
     </pluginManagement>
     <plugins>
@@ -345,16 +356,13 @@
         <artifactId>maven-checkstyle-plugin</artifactId>
       </plugin>
       <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>findbugs-maven-plugin</artifactId>
-        <configuration>
-          <threshold>Normal</threshold>
-          <effort>Default</effort>
-        </configuration>
+        <groupId>com.github.spotbugs</groupId>
+        <artifactId>spotbugs-maven-plugin</artifactId>
       </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-pmd-plugin</artifactId>
+        <version>${commons.pmd.version}</version>
         <configuration>
           <targetJdk>${maven.compiler.source}</targetJdk>
           <rulesets>
diff --git a/sb-excludes.xml b/sb-excludes.xml
new file mode 100644
index 0000000..290a7c7
--- /dev/null
+++ b/sb-excludes.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<FindBugsFilter>
+    <!-- PrintWriter wraps System.err which always uses the default encoding -->
+    <Match>
+        <Class name="org.apache.commons.dbutils.DbUtils" />
+        <Method name="printStackTrace" />
+        <Bug pattern="DM_DEFAULT_ENCODING" />
+    </Match>
+    <!-- PrintWriter wraps System.err which always uses the default encoding -->
+    <Match>
+        <Class name="org.apache.commons.dbutils.DbUtils" />
+        <Method name="printWarnings" />
+        <Bug pattern="DM_DEFAULT_ENCODING" />
+    </Match>
+    <!-- The javadocs state and the called code shows that null can be returned. -->
+    <Match>
+        <Class name="org.apache.commons.dbutils.QueryLoader" />
+        <Method name="loadQueries" />
+        <Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE" />
+    </Match>
+</FindBugsFilter>
\ No newline at end of file


[commons-dbutils] 09/09: Remove removed property for japicmp as of commons-parent:50. Will re-enable by file later when I figure out how to ignore a known breakage between major revisions.

Posted by th...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

thecarlhall pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-dbutils.git

commit 568c83cd3e09337f31cf8c27cfd283764d74df99
Author: Carl Hall <th...@apache.org>
AuthorDate: Sat Dec 28 22:04:51 2019 -0800

    Remove removed property for japicmp as of commons-parent:50.
    Will re-enable by file later when I figure out how to ignore a known breakage between major revisions.
---
 pom.xml | 2 --
 1 file changed, 2 deletions(-)

diff --git a/pom.xml b/pom.xml
index 6ae795b..5cd1296 100644
--- a/pom.xml
+++ b/pom.xml
@@ -248,8 +248,6 @@
     <commons.bc.version>1.7</commons.bc.version>
     <commons.jira.id>DBUTILS</commons.jira.id>
     <commons.jira.pid>12310470</commons.jira.pid>
-
-    <japicmp.skip>false</japicmp.skip>
   </properties>
 
   <build>


[commons-dbutils] 06/09: Suppress missing header false positive on props file

Posted by th...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

thecarlhall pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-dbutils.git

commit 7cc841d55d319309d190ae00227c2f68a2dc3aa5
Author: Carl Hall <th...@apache.org>
AuthorDate: Sat Dec 28 00:19:21 2019 -0800

    Suppress missing header false positive on props file
---
 checkstyle-suppressions.xml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/checkstyle-suppressions.xml b/checkstyle-suppressions.xml
index 1002890..d1ed70a 100644
--- a/checkstyle-suppressions.xml
+++ b/checkstyle-suppressions.xml
@@ -20,6 +20,7 @@
     <suppress checks="Header" files="NOTICE.txt" />
     <suppress checks="Header" files="LICENSE.txt" />
     <suppress checks="Header" files="target/.*" />
+    <suppress checks="Header" files=".*[/\\]TestQueries.properties" />
     <suppress checks="HideUtilityClassConstructor" files="DbUtils.java" />
     <suppress checks="Javadoc" files=".*[/\\]test[/\\].*" />
     <suppress checks="LineLength" files="AsyncQueryRunner.java" />


[commons-dbutils] 02/09: Use checkstyle-plugin version from parent pom, and use latest checkstyle dependency Update junit, mockito to latest non-rc releases Correct checkstyle config based on updates

Posted by th...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

thecarlhall pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-dbutils.git

commit 8c8320cfecccea6a8fffd652496cf5078a0708f9
Author: Carl Hall <th...@apache.org>
AuthorDate: Fri Dec 27 16:41:07 2019 -0800

    Use checkstyle-plugin version from parent pom, and use latest checkstyle dependency
    Update junit, mockito to latest non-rc releases
    Correct checkstyle config based on updates
---
 checkstyle.xml | 15 ++++++++-------
 pom.xml        | 23 +++++++++++++----------
 2 files changed, 21 insertions(+), 17 deletions(-)

diff --git a/checkstyle.xml b/checkstyle.xml
index 0156ad8..d5c2748 100644
--- a/checkstyle.xml
+++ b/checkstyle.xml
@@ -22,9 +22,11 @@
   <!--
     Checkstyle checks configured for Maven.
   -->
-  
+
   <module name="Checker">
-  
+
+      <property name="cacheFile" value="${checkstyle.cache.file}"/>
+
       <!-- Checks that a package.html file exists for each package.     -->
       <!-- See http://checkstyle.sf.net/config_javadoc.html#PackageHtml -->
       <module name="JavadocPackage">
@@ -55,10 +57,12 @@
           <property name="message" value="Line has trailing spaces."/>
       </module>
 
+      <module name="LineLength">
+          <property name="max" value="132"/>
+      </module>
+
       <module name="TreeWalker">
   
-          <property name="cacheFile" value="${checkstyle.cache.file}"/>
-  
           <!-- ************************************************************** -->
           <!-- Checks that are different from the sun coding conventions ones -->
           <!-- ************************************************************** -->
@@ -69,9 +73,6 @@
           <module name="RightCurly">
             <property name="option" value="same"/>
           </module>
-          <module name="LineLength">
-            <property name="max" value="132"/>
-          </module>
           <module name="MethodLength">
             <property name="max" value="175"/>
           </module>
diff --git a/pom.xml b/pom.xml
index 6f64400..02e6407 100644
--- a/pom.xml
+++ b/pom.xml
@@ -208,13 +208,13 @@
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
-      <version>4.11</version>
+      <version>4.12</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.mockito</groupId>
       <artifactId>mockito-core</artifactId>
-      <version>3.1.0</version>
+      <version>3.2.4</version>
       <scope>test</scope>
     </dependency>
     <dependency>
@@ -238,7 +238,7 @@
     <maven.compiler.source>1.7</maven.compiler.source>
     <maven.compiler.target>1.7</maven.compiler.target>
 
-    <checkstyle.plugin.version>2.17</checkstyle.plugin.version>
+    <checkstyle.version>8.27</checkstyle.version>
 
     <commons.componentid>dbutils</commons.componentid>
     <commons.module.name>org.apache.commons.dbutils</commons.module.name>
@@ -258,12 +258,20 @@
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-checkstyle-plugin</artifactId>
-          <version>${checkstyle.plugin.version}</version>
+          <version>${commons.checkstyle-plugin.version}</version>
           <configuration>
             <configLocation>${basedir}/checkstyle.xml</configLocation>
             <enableRulesSummary>false</enableRulesSummary>
             <headerLocation>${basedir}/license-header.txt</headerLocation>
+            <failOnViolation>false</failOnViolation>
           </configuration>
+          <dependencies>
+            <dependency>
+              <groupId>com.puppycrawl.tools</groupId>
+              <artifactId>checkstyle</artifactId>
+              <version>${checkstyle.version}</version>
+            </dependency>
+          </dependencies>
         </plugin>
       </plugins>
     </pluginManagement>
@@ -335,11 +343,6 @@
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
-        <configuration>
-          <configLocation>${basedir}/checkstyle.xml</configLocation>
-          <enableRulesSummary>false</enableRulesSummary>
-          <headerLocation>${basedir}/license-header.txt</headerLocation>
-        </configuration>
       </plugin>
       <plugin>
         <groupId>org.codehaus.mojo</groupId>
@@ -347,7 +350,7 @@
         <configuration>
           <threshold>Normal</threshold>
           <effort>Default</effort>
-       </configuration>
+        </configuration>
       </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>


[commons-dbutils] 01/09: Add missing package-info files

Posted by th...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

thecarlhall pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-dbutils.git

commit b993cf2eb762c06cc1f00acbf3e9b6254057b990
Author: Carl Hall <th...@apache.org>
AuthorDate: Fri Dec 27 17:01:10 2019 -0800

    Add missing package-info files
---
 .../commons/dbutils/annotations/package-info.java   | 21 +++++++++++++++++++++
 .../dbutils/handlers/columns/package-info.java      | 21 +++++++++++++++++++++
 .../dbutils/handlers/properties/package-info.java   | 21 +++++++++++++++++++++
 3 files changed, 63 insertions(+)

diff --git a/src/main/java/org/apache/commons/dbutils/annotations/package-info.java b/src/main/java/org/apache/commons/dbutils/annotations/package-info.java
new file mode 100644
index 0000000..a9cd195
--- /dev/null
+++ b/src/main/java/org/apache/commons/dbutils/annotations/package-info.java
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Annotations used in DbUtils
+ */
+package org.apache.commons.dbutils.annotations;
diff --git a/src/main/java/org/apache/commons/dbutils/handlers/columns/package-info.java b/src/main/java/org/apache/commons/dbutils/handlers/columns/package-info.java
new file mode 100644
index 0000000..a9392c0
--- /dev/null
+++ b/src/main/java/org/apache/commons/dbutils/handlers/columns/package-info.java
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Implementations of the org.apache.commons.dbutils.ColumnHandler interface.
+ */
+package org.apache.commons.dbutils.handlers.columns;
diff --git a/src/main/java/org/apache/commons/dbutils/handlers/properties/package-info.java b/src/main/java/org/apache/commons/dbutils/handlers/properties/package-info.java
new file mode 100644
index 0000000..dd79082
--- /dev/null
+++ b/src/main/java/org/apache/commons/dbutils/handlers/properties/package-info.java
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Implementations of the org.apache.commons.dbutils.PropertyHandler interface.
+ */
+package org.apache.commons.dbutils.handlers.properties;


[commons-dbutils] 04/09: Add checkstyle suppressions for false positives

Posted by th...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

thecarlhall pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-dbutils.git

commit 0b4bf6feb2ee367c76604c29160481e4075c4de1
Author: Carl Hall <th...@apache.org>
AuthorDate: Fri Dec 27 22:51:59 2019 -0800

    Add checkstyle suppressions for false positives
---
 checkstyle-suppressions.xml | 30 ++++++++++++++++++++++++++++++
 pom.xml                     |  2 ++
 2 files changed, 32 insertions(+)

diff --git a/checkstyle-suppressions.xml b/checkstyle-suppressions.xml
new file mode 100644
index 0000000..1002890
--- /dev/null
+++ b/checkstyle-suppressions.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!DOCTYPE suppressions PUBLIC
+        "-//Puppy Crawl//DTD Suppressions 1.0//EN"
+        "http://www.puppycrawl.com/dtds/suppressions_1_0.dtd">
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+       http://www.apache.org/licenses/LICENSE-2.0
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<suppressions>
+    <suppress checks="Header" files="NOTICE.txt" />
+    <suppress checks="Header" files="LICENSE.txt" />
+    <suppress checks="Header" files="target/.*" />
+    <suppress checks="HideUtilityClassConstructor" files="DbUtils.java" />
+    <suppress checks="Javadoc" files=".*[/\\]test[/\\].*" />
+    <suppress checks="LineLength" files="AsyncQueryRunner.java" />
+    <suppress checks="LineLength" files="BaseResultSetHandler.java" />
+    <suppress checks="LineLength" files="QueryRunner.java" />
+    <suppress checks="MagicNumber" files=".*[/\\]test[/\\].*" />
+    <suppress checks="MethodName" files=".*[/\\]test[/\\].*" />
+</suppressions>
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 7d01207..9ed67b9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -264,6 +264,8 @@
             <configLocation>${basedir}/checkstyle.xml</configLocation>
             <enableRulesSummary>false</enableRulesSummary>
             <headerLocation>${basedir}/license-header.txt</headerLocation>
+            <suppressionsLocation>${basedir}/checkstyle-suppressions.xml</suppressionsLocation>
+            <suppressionsFileExpression>${basedir}/checkstyle-suppressions.xml</suppressionsFileExpression>
             <failOnViolation>false</failOnViolation>
           </configuration>
           <dependencies>


[commons-dbutils] 07/09: Add known difference for field accessibility going to private

Posted by th...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

thecarlhall pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-dbutils.git

commit 2206aad3643b14edd9d118de214dc4f37d7646aa
Author: Carl Hall <th...@apache.org>
AuthorDate: Sat Dec 28 00:19:39 2019 -0800

    Add known difference for field accessibility going to private
---
 clirr-ignored.xml                                  | 23 ++++++++++++++++++++++
 pom.xml                                            | 12 +++++++++++
 .../commons/dbutils/AbstractQueryRunner.java       |  4 +---
 3 files changed, 36 insertions(+), 3 deletions(-)

diff --git a/clirr-ignored.xml b/clirr-ignored.xml
new file mode 100644
index 0000000..d57e5cb
--- /dev/null
+++ b/clirr-ignored.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+       http://www.apache.org/licenses/LICENSE-2.0
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+
+<differences>
+    <difference>
+        <className>**/org/apache/commons/dbutils/AbstractQueryRunner</className>
+        <differenceType>6010</differenceType>
+        <field>ds</field>
+    </difference>
+</differences>
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 9ed67b9..6ae795b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -286,6 +286,14 @@
             <excludeFilterFile>sb-excludes.xml</excludeFilterFile>
           </configuration>
         </plugin>
+        <plugin>
+          <groupId>org.codehaus.mojo</groupId>
+          <artifactId>clirr-maven-plugin</artifactId>
+          <version>${commons.clirr.version}</version>
+          <configuration>
+            <ignoredDifferencesFile>${basedir}/clirr-ignored.xml</ignoredDifferencesFile>
+          </configuration>
+        </plugin>
       </plugins>
     </pluginManagement>
     <plugins>
@@ -372,6 +380,10 @@
           </rulesets>
         </configuration>
       </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>clirr-maven-plugin</artifactId>
+      </plugin>
     </plugins>
   </reporting>
   <profiles>
diff --git a/src/main/java/org/apache/commons/dbutils/AbstractQueryRunner.java b/src/main/java/org/apache/commons/dbutils/AbstractQueryRunner.java
index b02bb38..f7e5faa 100644
--- a/src/main/java/org/apache/commons/dbutils/AbstractQueryRunner.java
+++ b/src/main/java/org/apache/commons/dbutils/AbstractQueryRunner.java
@@ -48,10 +48,8 @@ public abstract class AbstractQueryRunner {
 
     /**
      * The DataSource to retrieve connections from.
-     * @deprecated Access to this field should be through {@link #getDataSource()}.
      */
-    @Deprecated
-    protected final DataSource ds;
+    private final DataSource ds;
 
     /**
      * Configuration to use when preparing statements.


[commons-dbutils] 08/09: Update changes for the next release.

Posted by th...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

thecarlhall pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-dbutils.git

commit 6579e80e76519bf0df03bd3fccd9b5de4fb4024f
Author: Carl Hall <th...@apache.org>
AuthorDate: Sat Dec 28 22:04:00 2019 -0800

    Update changes for the next release.
---
 src/changes/changes.xml | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index c1ed13f..9eaca99 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -44,7 +44,19 @@ The <action> type attribute can be add,update,fix,remove.
   </properties>
   <body>
 
-    <release version="2.0" date="2017-MM-DD" description="New features and bug fixes.">
+    <release version="2.0" date="2020-01-DD" description="New features and bug fixes.">
+      <action dev="thecarlhall" type="update">
+        [BREAKING] Reduced visibility of data source to private in parent of QueryRunner. This has been deprecated since 2012 in rev=c500789f.
+      </action>
+      <action due-to="thecarlhall" type="update">
+        Java 1.7 now required. clirr, checkstyle, and spotbugs configured as part of default build.
+      </action>
+      <action dev="thecarlhall" type="fix">
+        Always copy Date, Time, Timestamp on get and set in SqlNullCheckedResultSet.
+      </action>
+      <action dev="thecarlhall" type="add" due-to="rewerma">
+        Add @Column annotation to hint the field name instead of dissecting the get method name.
+      </action>
       <action dev="ggregory" type="update" issue="DBUTILS-135" due-to="hdevalke">
         BeanProcessor is not thread safe since [DBUTILS-124].
       </action>


[commons-dbutils] 05/09: Mark a private static inner class as final Update license header on test class Add javadoc where missing or change to inheritDocs

Posted by th...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

thecarlhall pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-dbutils.git

commit 738c8ee57bf487149514bf4d835aeb15168d3b80
Author: Carl Hall <th...@apache.org>
AuthorDate: Fri Dec 27 23:29:26 2019 -0800

    Mark a private static inner class as final
    Update license header on test class
    Add javadoc where missing or change to inheritDocs
---
 .../commons/dbutils/BaseResultSetHandler.java      | 932 +++++----------------
 .../apache/commons/dbutils/BasicRowProcessor.java  |   2 +-
 .../org/apache/commons/dbutils/BeanProcessor.java  |   2 +-
 .../org/apache/commons/dbutils/OutParameter.java   |  17 +-
 .../commons/dbutils/StatementConfiguration.java    |  31 +-
 .../handlers/properties/DatePropertyHandler.java   |   8 +-
 .../properties/StringEnumPropertyHandler.java      |   3 +
 .../apache/commons/dbutils/OutParameterTest.java   |  11 +-
 8 files changed, 244 insertions(+), 762 deletions(-)

diff --git a/src/main/java/org/apache/commons/dbutils/BaseResultSetHandler.java b/src/main/java/org/apache/commons/dbutils/BaseResultSetHandler.java
index 814b52d..1059bf6 100644
--- a/src/main/java/org/apache/commons/dbutils/BaseResultSetHandler.java
+++ b/src/main/java/org/apache/commons/dbutils/BaseResultSetHandler.java
@@ -86,129 +86,98 @@ public abstract class BaseResultSetHandler<T> implements ResultSetHandler<T> {
     protected abstract T handle() throws SQLException;
 
     /**
-     * @param row
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#absolute(int)
+     * {@inheritDoc}
      */
     protected final boolean absolute(final int row) throws SQLException {
         return rs.absolute(row);
     }
 
     /**
-     * @throws SQLException
-     * @see java.sql.ResultSet#afterLast()
+     * {@inheritDoc}
      */
     protected final void afterLast() throws SQLException {
         rs.afterLast();
     }
 
     /**
-     * @throws SQLException
-     * @see java.sql.ResultSet#beforeFirst()
+     * {@inheritDoc}
      */
     protected final void beforeFirst() throws SQLException {
         rs.beforeFirst();
     }
 
     /**
-     * @throws SQLException
-     * @see java.sql.ResultSet#cancelRowUpdates()
+     * {@inheritDoc}
      */
     protected final void cancelRowUpdates() throws SQLException {
         rs.cancelRowUpdates();
     }
 
     /**
-     * @throws SQLException
-     * @see java.sql.ResultSet#clearWarnings()
+     * {@inheritDoc}
      */
     protected final void clearWarnings() throws SQLException {
         rs.clearWarnings();
     }
 
     /**
-     * @throws SQLException
-     * @see java.sql.ResultSet#close()
+     * {@inheritDoc}
      */
     protected final void close() throws SQLException {
         rs.close();
     }
 
     /**
-     * @throws SQLException
-     * @see java.sql.ResultSet#deleteRow()
+     * {@inheritDoc}
      */
     protected final void deleteRow() throws SQLException {
         rs.deleteRow();
     }
 
     /**
-     * @param columnLabel
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#findColumn(java.lang.String)
+     * {@inheritDoc}
      */
     protected final int findColumn(final String columnLabel) throws SQLException {
         return rs.findColumn(columnLabel);
     }
 
     /**
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#first()
+     * {@inheritDoc}
      */
     protected final boolean first() throws SQLException {
         return rs.first();
     }
 
     /**
-     * @param columnIndex
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getArray(int)
+     * {@inheritDoc}
      */
     protected final Array getArray(final int columnIndex) throws SQLException {
         return rs.getArray(columnIndex);
     }
 
     /**
-     * @param columnLabel
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getArray(java.lang.String)
+     * {@inheritDoc}
      */
     protected final Array getArray(final String columnLabel) throws SQLException {
         return rs.getArray(columnLabel);
     }
 
     /**
-     * @param columnIndex
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getAsciiStream(int)
+     * {@inheritDoc}
      */
     protected final InputStream getAsciiStream(final int columnIndex) throws SQLException {
         return rs.getAsciiStream(columnIndex);
     }
 
     /**
-     * @param columnLabel
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getAsciiStream(java.lang.String)
+     * {@inheritDoc}
      */
     protected final InputStream getAsciiStream(final String columnLabel) throws SQLException {
         return rs.getAsciiStream(columnLabel);
     }
 
     /**
-     * @param columnIndex
-     * @param scale
-     * @return
-     * @throws SQLException
-     * @deprecated
-     * @see java.sql.ResultSet#getBigDecimal(int, int)
+     * {@inheritDoc}
      */
     @Deprecated
     protected final BigDecimal getBigDecimal(final int columnIndex, final int scale) throws SQLException {
@@ -216,22 +185,14 @@ public abstract class BaseResultSetHandler<T> implements ResultSetHandler<T> {
     }
 
     /**
-     * @param columnIndex
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getBigDecimal(int)
+     * {@inheritDoc}
      */
     protected final BigDecimal getBigDecimal(final int columnIndex) throws SQLException {
         return rs.getBigDecimal(columnIndex);
     }
 
     /**
-     * @param columnLabel
-     * @param scale
-     * @return
-     * @throws SQLException
-     * @deprecated
-     * @see java.sql.ResultSet#getBigDecimal(java.lang.String, int)
+     * {@inheritDoc}
      */
     @Deprecated
     protected final BigDecimal getBigDecimal(final String columnLabel, final int scale) throws SQLException {
@@ -239,670 +200,469 @@ public abstract class BaseResultSetHandler<T> implements ResultSetHandler<T> {
     }
 
     /**
-     * @param columnLabel
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getBigDecimal(java.lang.String)
+     * {@inheritDoc}
      */
     protected final BigDecimal getBigDecimal(final String columnLabel) throws SQLException {
         return rs.getBigDecimal(columnLabel);
     }
 
     /**
-     * @param columnIndex
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getBinaryStream(int)
+     * {@inheritDoc}
      */
     protected final InputStream getBinaryStream(final int columnIndex) throws SQLException {
         return rs.getBinaryStream(columnIndex);
     }
 
     /**
-     * @param columnLabel
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getBinaryStream(java.lang.String)
+     * {@inheritDoc}
      */
     protected final InputStream getBinaryStream(final String columnLabel) throws SQLException {
         return rs.getBinaryStream(columnLabel);
     }
 
     /**
-     * @param columnIndex
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getBlob(int)
+     * {@inheritDoc}
      */
     protected final Blob getBlob(final int columnIndex) throws SQLException {
         return rs.getBlob(columnIndex);
     }
 
     /**
-     * @param columnLabel
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getBlob(java.lang.String)
+     * {@inheritDoc}
      */
     protected final Blob getBlob(final String columnLabel) throws SQLException {
         return rs.getBlob(columnLabel);
     }
 
     /**
-     * @param columnIndex
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getBoolean(int)
+     * {@inheritDoc}
      */
     protected final boolean getBoolean(final int columnIndex) throws SQLException {
         return rs.getBoolean(columnIndex);
     }
 
     /**
-     * @param columnLabel
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getBoolean(java.lang.String)
+     * {@inheritDoc}
      */
     protected final boolean getBoolean(final String columnLabel) throws SQLException {
         return rs.getBoolean(columnLabel);
     }
 
     /**
-     * @param columnIndex
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getByte(int)
+     * {@inheritDoc}
      */
     protected final byte getByte(final int columnIndex) throws SQLException {
         return rs.getByte(columnIndex);
     }
 
     /**
-     * @param columnLabel
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getByte(java.lang.String)
+     * {@inheritDoc}
      */
     protected final byte getByte(final String columnLabel) throws SQLException {
         return rs.getByte(columnLabel);
     }
 
     /**
-     * @param columnIndex
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getBytes(int)
+     * {@inheritDoc}
      */
     protected final byte[] getBytes(final int columnIndex) throws SQLException {
         return rs.getBytes(columnIndex);
     }
 
     /**
-     * @param columnLabel
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getBytes(java.lang.String)
+     * {@inheritDoc}
      */
     protected final byte[] getBytes(final String columnLabel) throws SQLException {
         return rs.getBytes(columnLabel);
     }
 
     /**
-     * @param columnIndex
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getCharacterStream(int)
+     * {@inheritDoc}
      */
     protected final Reader getCharacterStream(final int columnIndex) throws SQLException {
         return rs.getCharacterStream(columnIndex);
     }
 
     /**
-     * @param columnLabel
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getCharacterStream(java.lang.String)
+     * {@inheritDoc}
      */
     protected final Reader getCharacterStream(final String columnLabel) throws SQLException {
         return rs.getCharacterStream(columnLabel);
     }
 
     /**
-     * @param columnIndex
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getClob(int)
+     * {@inheritDoc}
      */
     protected final Clob getClob(final int columnIndex) throws SQLException {
         return rs.getClob(columnIndex);
     }
 
     /**
-     * @param columnLabel
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getClob(java.lang.String)
+     * {@inheritDoc}
      */
     protected final Clob getClob(final String columnLabel) throws SQLException {
         return rs.getClob(columnLabel);
     }
 
     /**
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getConcurrency()
+     * {@inheritDoc}
      */
     protected final int getConcurrency() throws SQLException {
         return rs.getConcurrency();
     }
 
     /**
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getCursorName()
+     * {@inheritDoc}
      */
     protected final String getCursorName() throws SQLException {
         return rs.getCursorName();
     }
 
     /**
-     * @param columnIndex
-     * @param cal
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getDate(int, java.util.Calendar)
+     * {@inheritDoc}
      */
     protected final Date getDate(final int columnIndex, final Calendar cal) throws SQLException {
         return rs.getDate(columnIndex, cal);
     }
 
     /**
-     * @param columnIndex
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getDate(int)
+     * {@inheritDoc}
      */
     protected final Date getDate(final int columnIndex) throws SQLException {
         return rs.getDate(columnIndex);
     }
 
     /**
-     * @param columnLabel
-     * @param cal
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getDate(java.lang.String, java.util.Calendar)
+     * {@inheritDoc}
      */
     protected final Date getDate(final String columnLabel, final Calendar cal) throws SQLException {
         return rs.getDate(columnLabel, cal);
     }
 
     /**
-     * @param columnLabel
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getDate(java.lang.String)
+     * {@inheritDoc}
      */
     protected final Date getDate(final String columnLabel) throws SQLException {
         return rs.getDate(columnLabel);
     }
 
     /**
-     * @param columnIndex
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getDouble(int)
+     * {@inheritDoc}
      */
     protected final double getDouble(final int columnIndex) throws SQLException {
         return rs.getDouble(columnIndex);
     }
 
     /**
-     * @param columnLabel
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getDouble(java.lang.String)
+     * {@inheritDoc}
      */
     protected final double getDouble(final String columnLabel) throws SQLException {
         return rs.getDouble(columnLabel);
     }
 
     /**
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getFetchDirection()
+     * {@inheritDoc}
      */
     protected final int getFetchDirection() throws SQLException {
         return rs.getFetchDirection();
     }
 
     /**
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getFetchSize()
+     * {@inheritDoc}
      */
     protected final int getFetchSize() throws SQLException {
         return rs.getFetchSize();
     }
 
     /**
-     * @param columnIndex
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getFloat(int)
+     * {@inheritDoc}
      */
     protected final float getFloat(final int columnIndex) throws SQLException {
         return rs.getFloat(columnIndex);
     }
 
     /**
-     * @param columnLabel
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getFloat(java.lang.String)
+     * {@inheritDoc}
      */
     protected final float getFloat(final String columnLabel) throws SQLException {
         return rs.getFloat(columnLabel);
     }
 
     /**
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getHoldability()
+     * {@inheritDoc}
      */
     protected final int getHoldability() throws SQLException {
         return rs.getHoldability();
     }
 
     /**
-     * @param columnIndex
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getInt(int)
+     * {@inheritDoc}
      */
     protected final int getInt(final int columnIndex) throws SQLException {
         return rs.getInt(columnIndex);
     }
 
     /**
-     * @param columnLabel
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getInt(java.lang.String)
+     * {@inheritDoc}
      */
     protected final int getInt(final String columnLabel) throws SQLException {
         return rs.getInt(columnLabel);
     }
 
     /**
-     * @param columnIndex
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getLong(int)
+     * {@inheritDoc}
      */
     protected final long getLong(final int columnIndex) throws SQLException {
         return rs.getLong(columnIndex);
     }
 
     /**
-     * @param columnLabel
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getLong(java.lang.String)
+     * {@inheritDoc}
      */
     protected final long getLong(final String columnLabel) throws SQLException {
         return rs.getLong(columnLabel);
     }
 
     /**
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getMetaData()
+     * {@inheritDoc}
      */
     protected final ResultSetMetaData getMetaData() throws SQLException {
         return rs.getMetaData();
     }
 
     /**
-     * @param columnIndex
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getNCharacterStream(int)
+     * {@inheritDoc}
      */
     protected final Reader getNCharacterStream(final int columnIndex) throws SQLException {
         return rs.getNCharacterStream(columnIndex);
     }
 
     /**
-     * @param columnLabel
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getNCharacterStream(java.lang.String)
+     * {@inheritDoc}
      */
     protected final Reader getNCharacterStream(final String columnLabel) throws SQLException {
         return rs.getNCharacterStream(columnLabel);
     }
 
     /**
-     * @param columnIndex
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getNClob(int)
+     * {@inheritDoc}
      */
     protected final NClob getNClob(final int columnIndex) throws SQLException {
         return rs.getNClob(columnIndex);
     }
 
     /**
-     * @param columnLabel
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getNClob(java.lang.String)
+     * {@inheritDoc}
      */
     protected final NClob getNClob(final String columnLabel) throws SQLException {
         return rs.getNClob(columnLabel);
     }
 
     /**
-     * @param columnIndex
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getNString(int)
+     * {@inheritDoc}
      */
     protected final String getNString(final int columnIndex) throws SQLException {
         return rs.getNString(columnIndex);
     }
 
     /**
-     * @param columnLabel
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getNString(java.lang.String)
+     * {@inheritDoc}
      */
     protected final String getNString(final String columnLabel) throws SQLException {
         return rs.getNString(columnLabel);
     }
 
     /**
-     * @param columnIndex
-     * @param map
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getObject(int, java.util.Map)
+     * {@inheritDoc}
      */
     protected final Object getObject(final int columnIndex, final Map<String, Class<?>> map) throws SQLException {
         return rs.getObject(columnIndex, map);
     }
 
     /**
-     * @param columnIndex
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getObject(int)
+     * {@inheritDoc}
      */
     protected final Object getObject(final int columnIndex) throws SQLException {
         return rs.getObject(columnIndex);
     }
 
     /**
-     * @param columnLabel
-     * @param map
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getObject(java.lang.String, java.util.Map)
+     * {@inheritDoc}
      */
     protected final Object getObject(final String columnLabel, final Map<String, Class<?>> map) throws SQLException {
         return rs.getObject(columnLabel, map);
     }
 
     /**
-     * @param columnLabel
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getObject(java.lang.String)
+     * {@inheritDoc}
      */
     protected final Object getObject(final String columnLabel) throws SQLException {
         return rs.getObject(columnLabel);
     }
 
     /**
-     * @param columnIndex
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getRef(int)
+     * {@inheritDoc}
      */
     protected final Ref getRef(final int columnIndex) throws SQLException {
         return rs.getRef(columnIndex);
     }
 
     /**
-     * @param columnLabel
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getRef(java.lang.String)
+     * {@inheritDoc}
      */
     protected final Ref getRef(final String columnLabel) throws SQLException {
         return rs.getRef(columnLabel);
     }
 
     /**
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getRow()
+     * {@inheritDoc}
      */
     protected final int getRow() throws SQLException {
         return rs.getRow();
     }
 
     /**
-     * @param columnIndex
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getRowId(int)
+     * {@inheritDoc}
      */
     protected final RowId getRowId(final int columnIndex) throws SQLException {
         return rs.getRowId(columnIndex);
     }
 
     /**
-     * @param columnLabel
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getRowId(java.lang.String)
+     * {@inheritDoc}
      */
     protected final RowId getRowId(final String columnLabel) throws SQLException {
         return rs.getRowId(columnLabel);
     }
 
     /**
-     * @param columnIndex
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getSQLXML(int)
+     * {@inheritDoc}
      */
     protected final SQLXML getSQLXML(final int columnIndex) throws SQLException {
         return rs.getSQLXML(columnIndex);
     }
 
     /**
-     * @param columnLabel
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getSQLXML(java.lang.String)
+     * {@inheritDoc}
      */
     protected final SQLXML getSQLXML(final String columnLabel) throws SQLException {
         return rs.getSQLXML(columnLabel);
     }
 
     /**
-     * @param columnIndex
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getShort(int)
+     * {@inheritDoc}
      */
     protected final short getShort(final int columnIndex) throws SQLException {
         return rs.getShort(columnIndex);
     }
 
     /**
-     * @param columnLabel
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getShort(java.lang.String)
+     * {@inheritDoc}
      */
     protected final short getShort(final String columnLabel) throws SQLException {
         return rs.getShort(columnLabel);
     }
 
     /**
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getStatement()
+     * {@inheritDoc}
      */
     protected final Statement getStatement() throws SQLException {
         return rs.getStatement();
     }
 
     /**
-     * @param columnIndex
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getString(int)
+     * {@inheritDoc}
      */
     protected final String getString(final int columnIndex) throws SQLException {
         return rs.getString(columnIndex);
     }
 
     /**
-     * @param columnLabel
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getString(java.lang.String)
+     * {@inheritDoc}
      */
     protected final String getString(final String columnLabel) throws SQLException {
         return rs.getString(columnLabel);
     }
 
     /**
-     * @param columnIndex
-     * @param cal
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getTime(int, java.util.Calendar)
+     * {@inheritDoc}
      */
     protected final Time getTime(final int columnIndex, final Calendar cal) throws SQLException {
         return rs.getTime(columnIndex, cal);
     }
 
     /**
-     * @param columnIndex
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getTime(int)
+     * {@inheritDoc}
      */
     protected final Time getTime(final int columnIndex) throws SQLException {
         return rs.getTime(columnIndex);
     }
 
     /**
-     * @param columnLabel
-     * @param cal
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getTime(java.lang.String, java.util.Calendar)
+     * {@inheritDoc}
      */
     protected final Time getTime(final String columnLabel, final Calendar cal) throws SQLException {
         return rs.getTime(columnLabel, cal);
     }
 
     /**
-     * @param columnLabel
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getTime(java.lang.String)
+     * {@inheritDoc}
      */
     protected final Time getTime(final String columnLabel) throws SQLException {
         return rs.getTime(columnLabel);
     }
 
     /**
-     * @param columnIndex
-     * @param cal
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getTimestamp(int, java.util.Calendar)
+     * {@inheritDoc}
      */
     protected final Timestamp getTimestamp(final int columnIndex, final Calendar cal) throws SQLException {
         return rs.getTimestamp(columnIndex, cal);
     }
 
     /**
-     * @param columnIndex
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getTimestamp(int)
+     * {@inheritDoc}
      */
     protected final Timestamp getTimestamp(final int columnIndex) throws SQLException {
         return rs.getTimestamp(columnIndex);
     }
 
     /**
-     * @param columnLabel
-     * @param cal
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getTimestamp(java.lang.String, java.util.Calendar)
+     * {@inheritDoc}
      */
     protected final Timestamp getTimestamp(final String columnLabel, final Calendar cal) throws SQLException {
         return rs.getTimestamp(columnLabel, cal);
     }
 
     /**
-     * @param columnLabel
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getTimestamp(java.lang.String)
+     * {@inheritDoc}
      */
     protected final Timestamp getTimestamp(final String columnLabel) throws SQLException {
         return rs.getTimestamp(columnLabel);
     }
 
     /**
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getType()
+     * {@inheritDoc}
      */
     protected final int getType() throws SQLException {
         return rs.getType();
     }
 
     /**
-     * @param columnIndex
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getURL(int)
+     * {@inheritDoc}
      */
     protected final URL getURL(final int columnIndex) throws SQLException {
         return rs.getURL(columnIndex);
     }
 
     /**
-     * @param columnLabel
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getURL(java.lang.String)
+     * {@inheritDoc}
      */
     protected final URL getURL(final String columnLabel) throws SQLException {
         return rs.getURL(columnLabel);
     }
 
     /**
-     * @param columnIndex
-     * @return
-     * @throws SQLException
-     * @deprecated
-     * @see java.sql.ResultSet#getUnicodeStream(int)
+     * {@inheritDoc}
      */
     @Deprecated
     protected final InputStream getUnicodeStream(final int columnIndex) throws SQLException {
@@ -910,11 +670,7 @@ public abstract class BaseResultSetHandler<T> implements ResultSetHandler<T> {
     }
 
     /**
-     * @param columnLabel
-     * @return
-     * @throws SQLException
-     * @deprecated
-     * @see java.sql.ResultSet#getUnicodeStream(java.lang.String)
+     * {@inheritDoc}
      */
     @Deprecated
     protected final InputStream getUnicodeStream(final String columnLabel) throws SQLException {
@@ -922,1045 +678,735 @@ public abstract class BaseResultSetHandler<T> implements ResultSetHandler<T> {
     }
 
     /**
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#getWarnings()
+     * {@inheritDoc}
      */
     protected final SQLWarning getWarnings() throws SQLException {
         return rs.getWarnings();
     }
 
     /**
-     * @throws SQLException
-     * @see java.sql.ResultSet#insertRow()
+     * {@inheritDoc}
      */
     protected final void insertRow() throws SQLException {
         rs.insertRow();
     }
 
     /**
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#isAfterLast()
+     * {@inheritDoc}
      */
     protected final boolean isAfterLast() throws SQLException {
         return rs.isAfterLast();
     }
 
     /**
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#isBeforeFirst()
+     * {@inheritDoc}
      */
     protected final boolean isBeforeFirst() throws SQLException {
         return rs.isBeforeFirst();
     }
 
     /**
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#isClosed()
+     * {@inheritDoc}
      */
     protected final boolean isClosed() throws SQLException {
         return rs.isClosed();
     }
 
     /**
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#isFirst()
+     * {@inheritDoc}
      */
     protected final boolean isFirst() throws SQLException {
         return rs.isFirst();
     }
 
     /**
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#isLast()
+     * {@inheritDoc}
      */
     protected final boolean isLast() throws SQLException {
         return rs.isLast();
     }
 
     /**
-     * @param iface
-     * @return
-     * @throws SQLException
-     * @see java.sql.Wrapper#isWrapperFor(java.lang.Class)
+     * {@inheritDoc}
      */
     protected final boolean isWrapperFor(final Class<?> iface) throws SQLException {
         return rs.isWrapperFor(iface);
     }
 
     /**
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#last()
+     * {@inheritDoc}
      */
     protected final boolean last() throws SQLException {
         return rs.last();
     }
 
     /**
-     * @throws SQLException
-     * @see java.sql.ResultSet#moveToCurrentRow()
+     * {@inheritDoc}
      */
     protected final void moveToCurrentRow() throws SQLException {
         rs.moveToCurrentRow();
     }
 
     /**
-     * @throws SQLException
-     * @see java.sql.ResultSet#moveToInsertRow()
+     * {@inheritDoc}
      */
     protected final void moveToInsertRow() throws SQLException {
         rs.moveToInsertRow();
     }
 
     /**
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#next()
+     * {@inheritDoc}
      */
     protected final boolean next() throws SQLException {
         return rs.next();
     }
 
     /**
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#previous()
+     * {@inheritDoc}
      */
     protected final boolean previous() throws SQLException {
         return rs.previous();
     }
 
     /**
-     * @throws SQLException
-     * @see java.sql.ResultSet#refreshRow()
+     * {@inheritDoc}
      */
     protected final void refreshRow() throws SQLException {
         rs.refreshRow();
     }
 
     /**
-     * @param rows
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#relative(int)
+     * {@inheritDoc}
      */
     protected final boolean relative(final int rows) throws SQLException {
         return rs.relative(rows);
     }
 
     /**
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#rowDeleted()
+     * {@inheritDoc}
      */
     protected final boolean rowDeleted() throws SQLException {
         return rs.rowDeleted();
     }
 
     /**
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#rowInserted()
+     * {@inheritDoc}
      */
     protected final boolean rowInserted() throws SQLException {
         return rs.rowInserted();
     }
 
     /**
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#rowUpdated()
+     * {@inheritDoc}
      */
     protected final boolean rowUpdated() throws SQLException {
         return rs.rowUpdated();
     }
 
     /**
-     * @param direction
-     * @throws SQLException
-     * @see java.sql.ResultSet#setFetchDirection(int)
+     * {@inheritDoc}
      */
     protected final void setFetchDirection(final int direction) throws SQLException {
         rs.setFetchDirection(direction);
     }
 
     /**
-     * @param rows
-     * @throws SQLException
-     * @see java.sql.ResultSet#setFetchSize(int)
+     * {@inheritDoc}
      */
     protected final void setFetchSize(final int rows) throws SQLException {
         rs.setFetchSize(rows);
     }
 
     /**
-     * @param iface
-     * @return
-     * @throws SQLException
-     * @see java.sql.Wrapper#unwrap(java.lang.Class)
+     * {@inheritDoc}
      */
     protected final <E> E unwrap(final Class<E> iface) throws SQLException {
         return rs.unwrap(iface);
     }
 
     /**
-     * @param columnIndex
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateArray(int, java.sql.Array)
+     * {@inheritDoc}
      */
     protected final void updateArray(final int columnIndex, final Array x) throws SQLException {
         rs.updateArray(columnIndex, x);
     }
 
     /**
-     * @param columnLabel
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateArray(java.lang.String, java.sql.Array)
+     * {@inheritDoc}
      */
     protected final void updateArray(final String columnLabel, final Array x) throws SQLException {
         rs.updateArray(columnLabel, x);
     }
 
     /**
-     * @param columnIndex
-     * @param x
-     * @param length
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateAsciiStream(int, java.io.InputStream, int)
+     * {@inheritDoc}
      */
     protected final void updateAsciiStream(final int columnIndex, final InputStream x, final int length) throws SQLException {
         rs.updateAsciiStream(columnIndex, x, length);
     }
 
     /**
-     * @param columnIndex
-     * @param x
-     * @param length
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateAsciiStream(int, java.io.InputStream, long)
+     * {@inheritDoc}
      */
     protected final void updateAsciiStream(final int columnIndex, final InputStream x, final long length) throws SQLException {
         rs.updateAsciiStream(columnIndex, x, length);
     }
 
     /**
-     * @param columnIndex
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateAsciiStream(int, java.io.InputStream)
+     * {@inheritDoc}
      */
     protected final void updateAsciiStream(final int columnIndex, final InputStream x) throws SQLException {
         rs.updateAsciiStream(columnIndex, x);
     }
 
     /**
-     * @param columnLabel
-     * @param x
-     * @param length
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateAsciiStream(java.lang.String, java.io.InputStream, int)
+     * {@inheritDoc}
      */
     protected final void updateAsciiStream(final String columnLabel, final InputStream x, final int length) throws SQLException {
         rs.updateAsciiStream(columnLabel, x, length);
     }
 
     /**
-     * @param columnLabel
-     * @param x
-     * @param length
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateAsciiStream(java.lang.String, java.io.InputStream, long)
+     * {@inheritDoc}
      */
     protected final void updateAsciiStream(final String columnLabel, final InputStream x, final long length) throws SQLException {
         rs.updateAsciiStream(columnLabel, x, length);
     }
 
     /**
-     * @param columnLabel
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateAsciiStream(java.lang.String, java.io.InputStream)
+     * {@inheritDoc}
      */
     protected final void updateAsciiStream(final String columnLabel, final InputStream x) throws SQLException {
         rs.updateAsciiStream(columnLabel, x);
     }
 
     /**
-     * @param columnIndex
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateBigDecimal(int, java.math.BigDecimal)
+     * {@inheritDoc}
      */
     protected final void updateBigDecimal(final int columnIndex, final BigDecimal x) throws SQLException {
         rs.updateBigDecimal(columnIndex, x);
     }
 
     /**
-     * @param columnLabel
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateBigDecimal(java.lang.String, java.math.BigDecimal)
+     * {@inheritDoc}
      */
     protected final void updateBigDecimal(final String columnLabel, final BigDecimal x) throws SQLException {
         rs.updateBigDecimal(columnLabel, x);
     }
 
     /**
-     * @param columnIndex
-     * @param x
-     * @param length
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateBinaryStream(int, java.io.InputStream, int)
+     * {@inheritDoc}
      */
     protected final void updateBinaryStream(final int columnIndex, final InputStream x, final int length) throws SQLException {
         rs.updateBinaryStream(columnIndex, x, length);
     }
 
     /**
-     * @param columnIndex
-     * @param x
-     * @param length
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateBinaryStream(int, java.io.InputStream, long)
+     * {@inheritDoc}
      */
     protected final void updateBinaryStream(final int columnIndex, final InputStream x, final long length) throws SQLException {
         rs.updateBinaryStream(columnIndex, x, length);
     }
 
     /**
-     * @param columnIndex
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateBinaryStream(int, java.io.InputStream)
+     * {@inheritDoc}
      */
     protected final void updateBinaryStream(final int columnIndex, final InputStream x) throws SQLException {
         rs.updateBinaryStream(columnIndex, x);
     }
 
     /**
-     * @param columnLabel
-     * @param x
-     * @param length
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateBinaryStream(java.lang.String, java.io.InputStream, int)
+     * {@inheritDoc}
      */
     protected final void updateBinaryStream(final String columnLabel, final InputStream x, final int length) throws SQLException {
         rs.updateBinaryStream(columnLabel, x, length);
     }
 
     /**
-     * @param columnLabel
-     * @param x
-     * @param length
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateBinaryStream(java.lang.String, java.io.InputStream, long)
+     * {@inheritDoc}
      */
     protected final void updateBinaryStream(final String columnLabel, final InputStream x, final long length) throws SQLException {
         rs.updateBinaryStream(columnLabel, x, length);
     }
 
     /**
-     * @param columnLabel
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateBinaryStream(java.lang.String, java.io.InputStream)
+     * {@inheritDoc}
      */
     protected final void updateBinaryStream(final String columnLabel, final InputStream x) throws SQLException {
         rs.updateBinaryStream(columnLabel, x);
     }
 
     /**
-     * @param columnIndex
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateBlob(int, java.sql.Blob)
+     * {@inheritDoc}
      */
     protected final void updateBlob(final int columnIndex, final Blob x) throws SQLException {
         rs.updateBlob(columnIndex, x);
     }
 
     /**
-     * @param columnIndex
-     * @param inputStream
-     * @param length
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateBlob(int, java.io.InputStream, long)
+     * {@inheritDoc}
      */
     protected final void updateBlob(final int columnIndex, final InputStream inputStream, final long length) throws SQLException {
         rs.updateBlob(columnIndex, inputStream, length);
     }
 
     /**
-     * @param columnIndex
-     * @param inputStream
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateBlob(int, java.io.InputStream)
+     * {@inheritDoc}
      */
     protected final void updateBlob(final int columnIndex, final InputStream inputStream) throws SQLException {
         rs.updateBlob(columnIndex, inputStream);
     }
 
     /**
-     * @param columnLabel
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateBlob(java.lang.String, java.sql.Blob)
+     * {@inheritDoc}
      */
     protected final void updateBlob(final String columnLabel, final Blob x) throws SQLException {
         rs.updateBlob(columnLabel, x);
     }
 
     /**
-     * @param columnLabel
-     * @param inputStream
-     * @param length
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateBlob(java.lang.String, java.io.InputStream, long)
+     * {@inheritDoc}
      */
     protected final void updateBlob(final String columnLabel, final InputStream inputStream, final long length) throws SQLException {
         rs.updateBlob(columnLabel, inputStream, length);
     }
 
     /**
-     * @param columnLabel
-     * @param inputStream
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateBlob(java.lang.String, java.io.InputStream)
+     * {@inheritDoc}
      */
     protected final void updateBlob(final String columnLabel, final InputStream inputStream) throws SQLException {
         rs.updateBlob(columnLabel, inputStream);
     }
 
     /**
-     * @param columnIndex
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateBoolean(int, boolean)
+     * {@inheritDoc}
      */
     protected final void updateBoolean(final int columnIndex, final boolean x) throws SQLException {
         rs.updateBoolean(columnIndex, x);
     }
 
     /**
-     * @param columnLabel
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateBoolean(java.lang.String, boolean)
+     * {@inheritDoc}
      */
     protected final void updateBoolean(final String columnLabel, final boolean x) throws SQLException {
         rs.updateBoolean(columnLabel, x);
     }
 
     /**
-     * @param columnIndex
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateByte(int, byte)
+     * {@inheritDoc}
      */
     protected final void updateByte(final int columnIndex, final byte x) throws SQLException {
         rs.updateByte(columnIndex, x);
     }
 
     /**
-     * @param columnLabel
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateByte(java.lang.String, byte)
+     * {@inheritDoc}
      */
     protected final void updateByte(final String columnLabel, final byte x) throws SQLException {
         rs.updateByte(columnLabel, x);
     }
 
     /**
-     * @param columnIndex
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateBytes(int, byte[])
+     * {@inheritDoc}
      */
     protected final void updateBytes(final int columnIndex, final byte[] x) throws SQLException {
         rs.updateBytes(columnIndex, x);
     }
 
     /**
-     * @param columnLabel
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateBytes(java.lang.String, byte[])
+     * {@inheritDoc}
      */
     protected final void updateBytes(final String columnLabel, final byte[] x) throws SQLException {
         rs.updateBytes(columnLabel, x);
     }
 
     /**
-     * @param columnIndex
-     * @param x
-     * @param length
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateCharacterStream(int, java.io.Reader, int)
+     * {@inheritDoc}
      */
     protected final void updateCharacterStream(final int columnIndex, final Reader x, final int length) throws SQLException {
         rs.updateCharacterStream(columnIndex, x, length);
     }
 
     /**
-     * @param columnIndex
-     * @param x
-     * @param length
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateCharacterStream(int, java.io.Reader, long)
+     * {@inheritDoc}
      */
     protected final void updateCharacterStream(final int columnIndex, final Reader x, final long length) throws SQLException {
         rs.updateCharacterStream(columnIndex, x, length);
     }
 
     /**
-     * @param columnIndex
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateCharacterStream(int, java.io.Reader)
+     * {@inheritDoc}
      */
     protected final void updateCharacterStream(final int columnIndex, final Reader x) throws SQLException {
         rs.updateCharacterStream(columnIndex, x);
     }
 
     /**
-     * @param columnLabel
-     * @param reader
-     * @param length
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateCharacterStream(java.lang.String, java.io.Reader, int)
+     * {@inheritDoc}
      */
     protected final void updateCharacterStream(final String columnLabel, final Reader reader, final int length) throws SQLException {
         rs.updateCharacterStream(columnLabel, reader, length);
     }
 
     /**
-     * @param columnLabel
-     * @param reader
-     * @param length
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateCharacterStream(java.lang.String, java.io.Reader, long)
+     * {@inheritDoc}
      */
     protected final void updateCharacterStream(final String columnLabel, final Reader reader, final long length) throws SQLException {
         rs.updateCharacterStream(columnLabel, reader, length);
     }
 
     /**
-     * @param columnLabel
-     * @param reader
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateCharacterStream(java.lang.String, java.io.Reader)
+     * {@inheritDoc}
      */
     protected final void updateCharacterStream(final String columnLabel, final Reader reader) throws SQLException {
         rs.updateCharacterStream(columnLabel, reader);
     }
 
     /**
-     * @param columnIndex
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateClob(int, java.sql.Clob)
+     * {@inheritDoc}
      */
     protected final void updateClob(final int columnIndex, final Clob x) throws SQLException {
         rs.updateClob(columnIndex, x);
     }
 
     /**
-     * @param columnIndex
-     * @param reader
-     * @param length
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateClob(int, java.io.Reader, long)
+     * {@inheritDoc}
      */
     protected final void updateClob(final int columnIndex, final Reader reader, final long length) throws SQLException {
         rs.updateClob(columnIndex, reader, length);
     }
 
     /**
-     * @param columnIndex
-     * @param reader
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateClob(int, java.io.Reader)
+     * {@inheritDoc}
      */
     protected final void updateClob(final int columnIndex, final Reader reader) throws SQLException {
         rs.updateClob(columnIndex, reader);
     }
 
     /**
-     * @param columnLabel
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateClob(java.lang.String, java.sql.Clob)
+     * {@inheritDoc}
      */
     protected final void updateClob(final String columnLabel, final Clob x) throws SQLException {
         rs.updateClob(columnLabel, x);
     }
 
     /**
-     * @param columnLabel
-     * @param reader
-     * @param length
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateClob(java.lang.String, java.io.Reader, long)
+     * {@inheritDoc}
      */
     protected final void updateClob(final String columnLabel, final Reader reader, final long length) throws SQLException {
         rs.updateClob(columnLabel, reader, length);
     }
 
     /**
-     * @param columnLabel
-     * @param reader
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateClob(java.lang.String, java.io.Reader)
+     * {@inheritDoc}
      */
     protected final void updateClob(final String columnLabel, final Reader reader) throws SQLException {
         rs.updateClob(columnLabel, reader);
     }
 
     /**
-     * @param columnIndex
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateDate(int, java.sql.Date)
+     * {@inheritDoc}
      */
     protected final void updateDate(final int columnIndex, final Date x) throws SQLException {
         rs.updateDate(columnIndex, x);
     }
 
     /**
-     * @param columnLabel
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateDate(java.lang.String, java.sql.Date)
+     * {@inheritDoc}
      */
     protected final void updateDate(final String columnLabel, final Date x) throws SQLException {
         rs.updateDate(columnLabel, x);
     }
 
     /**
-     * @param columnIndex
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateDouble(int, double)
+     * {@inheritDoc}
      */
     protected final void updateDouble(final int columnIndex, final double x) throws SQLException {
         rs.updateDouble(columnIndex, x);
     }
 
     /**
-     * @param columnLabel
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateDouble(java.lang.String, double)
+     * {@inheritDoc}
      */
     protected final void updateDouble(final String columnLabel, final double x) throws SQLException {
         rs.updateDouble(columnLabel, x);
     }
 
     /**
-     * @param columnIndex
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateFloat(int, float)
+     * {@inheritDoc}
      */
     protected final void updateFloat(final int columnIndex, final float x) throws SQLException {
         rs.updateFloat(columnIndex, x);
     }
 
     /**
-     * @param columnLabel
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateFloat(java.lang.String, float)
+     * {@inheritDoc}
      */
     protected final void updateFloat(final String columnLabel, final float x) throws SQLException {
         rs.updateFloat(columnLabel, x);
     }
 
     /**
-     * @param columnIndex
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateInt(int, int)
+     * {@inheritDoc}
      */
     protected final void updateInt(final int columnIndex, final int x) throws SQLException {
         rs.updateInt(columnIndex, x);
     }
 
     /**
-     * @param columnLabel
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateInt(java.lang.String, int)
+     * {@inheritDoc}
      */
     protected final void updateInt(final String columnLabel, final int x) throws SQLException {
         rs.updateInt(columnLabel, x);
     }
 
     /**
-     * @param columnIndex
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateLong(int, long)
+     * {@inheritDoc}
      */
     protected final void updateLong(final int columnIndex, final long x) throws SQLException {
         rs.updateLong(columnIndex, x);
     }
 
     /**
-     * @param columnLabel
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateLong(java.lang.String, long)
+     * {@inheritDoc}
      */
     protected final void updateLong(final String columnLabel, final long x) throws SQLException {
         rs.updateLong(columnLabel, x);
     }
 
     /**
-     * @param columnIndex
-     * @param x
-     * @param length
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateNCharacterStream(int, java.io.Reader, long)
+     * {@inheritDoc}
      */
     protected final void updateNCharacterStream(final int columnIndex, final Reader x, final long length) throws SQLException {
         rs.updateNCharacterStream(columnIndex, x, length);
     }
 
     /**
-     * @param columnIndex
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateNCharacterStream(int, java.io.Reader)
+     * {@inheritDoc}
      */
     protected final void updateNCharacterStream(final int columnIndex, final Reader x) throws SQLException {
         rs.updateNCharacterStream(columnIndex, x);
     }
 
     /**
-     * @param columnLabel
-     * @param reader
-     * @param length
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateNCharacterStream(java.lang.String, java.io.Reader, long)
+     * {@inheritDoc}
      */
     protected final void updateNCharacterStream(final String columnLabel, final Reader reader, final long length) throws SQLException {
         rs.updateNCharacterStream(columnLabel, reader, length);
     }
 
     /**
-     * @param columnLabel
-     * @param reader
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateNCharacterStream(java.lang.String, java.io.Reader)
+     * {@inheritDoc}
      */
     protected final void updateNCharacterStream(final String columnLabel, final Reader reader) throws SQLException {
         rs.updateNCharacterStream(columnLabel, reader);
     }
 
     /**
-     * @param columnIndex
-     * @param nClob
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateNClob(int, java.sql.NClob)
+     * {@inheritDoc}
      */
     protected final void updateNClob(final int columnIndex, final NClob nClob) throws SQLException {
         rs.updateNClob(columnIndex, nClob);
     }
 
     /**
-     * @param columnIndex
-     * @param reader
-     * @param length
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateNClob(int, java.io.Reader, long)
+     * {@inheritDoc}
      */
     protected final void updateNClob(final int columnIndex, final Reader reader, final long length) throws SQLException {
         rs.updateNClob(columnIndex, reader, length);
     }
 
     /**
-     * @param columnIndex
-     * @param reader
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateNClob(int, java.io.Reader)
+     * {@inheritDoc}
      */
     protected final void updateNClob(final int columnIndex, final Reader reader) throws SQLException {
         rs.updateNClob(columnIndex, reader);
     }
 
     /**
-     * @param columnLabel
-     * @param nClob
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateNClob(java.lang.String, java.sql.NClob)
+     * {@inheritDoc}
      */
     protected final void updateNClob(final String columnLabel, final NClob nClob) throws SQLException {
         rs.updateNClob(columnLabel, nClob);
     }
 
     /**
-     * @param columnLabel
-     * @param reader
-     * @param length
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateNClob(java.lang.String, java.io.Reader, long)
+     * {@inheritDoc}
      */
     protected final void updateNClob(final String columnLabel, final Reader reader, final long length) throws SQLException {
         rs.updateNClob(columnLabel, reader, length);
     }
 
     /**
-     * @param columnLabel
-     * @param reader
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateNClob(java.lang.String, java.io.Reader)
+     * {@inheritDoc}
      */
     protected final void updateNClob(final String columnLabel, final Reader reader) throws SQLException {
         rs.updateNClob(columnLabel, reader);
     }
 
     /**
-     * @param columnIndex
-     * @param nString
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateNString(int, java.lang.String)
+     * {@inheritDoc}
      */
     protected final void updateNString(final int columnIndex, final String nString) throws SQLException {
         rs.updateNString(columnIndex, nString);
     }
 
     /**
-     * @param columnLabel
-     * @param nString
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateNString(java.lang.String, java.lang.String)
+     * {@inheritDoc}
      */
     protected final void updateNString(final String columnLabel, final String nString) throws SQLException {
         rs.updateNString(columnLabel, nString);
     }
 
     /**
-     * @param columnIndex
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateNull(int)
+     * {@inheritDoc}
      */
     protected final void updateNull(final int columnIndex) throws SQLException {
         rs.updateNull(columnIndex);
     }
 
     /**
-     * @param columnLabel
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateNull(java.lang.String)
+     * {@inheritDoc}
      */
     protected final void updateNull(final String columnLabel) throws SQLException {
         rs.updateNull(columnLabel);
     }
 
     /**
-     * @param columnIndex
-     * @param x
-     * @param scaleOrLength
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateObject(int, java.lang.Object, int)
+     * {@inheritDoc}
      */
     protected final void updateObject(final int columnIndex, final Object x, final int scaleOrLength) throws SQLException {
         rs.updateObject(columnIndex, x, scaleOrLength);
     }
 
     /**
-     * @param columnIndex
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateObject(int, java.lang.Object)
+     * {@inheritDoc}
      */
     protected final void updateObject(final int columnIndex, final Object x) throws SQLException {
         rs.updateObject(columnIndex, x);
     }
 
     /**
-     * @param columnLabel
-     * @param x
-     * @param scaleOrLength
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateObject(java.lang.String, java.lang.Object, int)
+     * {@inheritDoc}
      */
     protected final void updateObject(final String columnLabel, final Object x, final int scaleOrLength) throws SQLException {
         rs.updateObject(columnLabel, x, scaleOrLength);
     }
 
     /**
-     * @param columnLabel
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateObject(java.lang.String, java.lang.Object)
+     * {@inheritDoc}
      */
     protected final void updateObject(final String columnLabel, final Object x) throws SQLException {
         rs.updateObject(columnLabel, x);
     }
 
     /**
-     * @param columnIndex
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateRef(int, java.sql.Ref)
+     * {@inheritDoc}
      */
     protected final void updateRef(final int columnIndex, final Ref x) throws SQLException {
         rs.updateRef(columnIndex, x);
     }
 
     /**
-     * @param columnLabel
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateRef(java.lang.String, java.sql.Ref)
+     * {@inheritDoc}
      */
     protected final void updateRef(final String columnLabel, final Ref x) throws SQLException {
         rs.updateRef(columnLabel, x);
     }
 
     /**
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateRow()
+     * {@inheritDoc}
      */
     protected final void updateRow() throws SQLException {
         rs.updateRow();
     }
 
     /**
-     * @param columnIndex
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateRowId(int, java.sql.RowId)
+     * {@inheritDoc}
      */
     protected final void updateRowId(final int columnIndex, final RowId x) throws SQLException {
         rs.updateRowId(columnIndex, x);
     }
 
     /**
-     * @param columnLabel
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateRowId(java.lang.String, java.sql.RowId)
+     * {@inheritDoc}
      */
     protected final void updateRowId(final String columnLabel, final RowId x) throws SQLException {
         rs.updateRowId(columnLabel, x);
     }
 
     /**
-     * @param columnIndex
-     * @param xmlObject
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateSQLXML(int, java.sql.SQLXML)
+     * {@inheritDoc}
      */
     protected final void updateSQLXML(final int columnIndex, final SQLXML xmlObject) throws SQLException {
         rs.updateSQLXML(columnIndex, xmlObject);
     }
 
     /**
-     * @param columnLabel
-     * @param xmlObject
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateSQLXML(java.lang.String, java.sql.SQLXML)
+     * {@inheritDoc}
      */
     protected final void updateSQLXML(final String columnLabel, final SQLXML xmlObject) throws SQLException {
         rs.updateSQLXML(columnLabel, xmlObject);
     }
 
     /**
-     * @param columnIndex
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateShort(int, short)
+     * {@inheritDoc}
      */
     protected final void updateShort(final int columnIndex, final short x) throws SQLException {
         rs.updateShort(columnIndex, x);
     }
 
     /**
-     * @param columnLabel
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateShort(java.lang.String, short)
+     * {@inheritDoc}
      */
     protected final void updateShort(final String columnLabel, final short x) throws SQLException {
         rs.updateShort(columnLabel, x);
     }
 
     /**
-     * @param columnIndex
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateString(int, java.lang.String)
+     * {@inheritDoc}
      */
     protected final void updateString(final int columnIndex, final String x) throws SQLException {
         rs.updateString(columnIndex, x);
     }
 
     /**
-     * @param columnLabel
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateString(java.lang.String, java.lang.String)
+     * {@inheritDoc}
      */
     protected final void updateString(final String columnLabel, final String x) throws SQLException {
         rs.updateString(columnLabel, x);
     }
 
     /**
-     * @param columnIndex
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateTime(int, java.sql.Time)
+     * {@inheritDoc}
      */
     protected final void updateTime(final int columnIndex, final Time x) throws SQLException {
         rs.updateTime(columnIndex, x);
     }
 
     /**
-     * @param columnLabel
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateTime(java.lang.String, java.sql.Time)
+     * {@inheritDoc}
      */
     protected final void updateTime(final String columnLabel, final Time x) throws SQLException {
         rs.updateTime(columnLabel, x);
     }
 
     /**
-     * @param columnIndex
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateTimestamp(int, java.sql.Timestamp)
+     * {@inheritDoc}
      */
     protected final void updateTimestamp(final int columnIndex, final Timestamp x) throws SQLException {
         rs.updateTimestamp(columnIndex, x);
     }
 
     /**
-     * @param columnLabel
-     * @param x
-     * @throws SQLException
-     * @see java.sql.ResultSet#updateTimestamp(java.lang.String, java.sql.Timestamp)
+     * {@inheritDoc}
      */
     protected final void updateTimestamp(final String columnLabel, final Timestamp x) throws SQLException {
         rs.updateTimestamp(columnLabel, x);
     }
 
     /**
-     * @return
-     * @throws SQLException
-     * @see java.sql.ResultSet#wasNull()
+     * {@inheritDoc}
      */
     protected final boolean wasNull() throws SQLException {
         return rs.wasNull();
diff --git a/src/main/java/org/apache/commons/dbutils/BasicRowProcessor.java b/src/main/java/org/apache/commons/dbutils/BasicRowProcessor.java
index 66d2250..fccd4a0 100644
--- a/src/main/java/org/apache/commons/dbutils/BasicRowProcessor.java
+++ b/src/main/java/org/apache/commons/dbutils/BasicRowProcessor.java
@@ -192,7 +192,7 @@ public class BasicRowProcessor implements RowProcessor {
      * key.toString().toLowerCase()
      * </pre>
      */
-    private static class CaseInsensitiveHashMap extends LinkedHashMap<String, Object> {
+    private static final class CaseInsensitiveHashMap extends LinkedHashMap<String, Object> {
 
         private CaseInsensitiveHashMap(final int initialCapacity) {
             super(initialCapacity);
diff --git a/src/main/java/org/apache/commons/dbutils/BeanProcessor.java b/src/main/java/org/apache/commons/dbutils/BeanProcessor.java
index 79ae7bc..9ccc241 100644
--- a/src/main/java/org/apache/commons/dbutils/BeanProcessor.java
+++ b/src/main/java/org/apache/commons/dbutils/BeanProcessor.java
@@ -266,7 +266,7 @@ public class BeanProcessor {
             final Class<?> propType = prop.getPropertyType();
 
             Object value = null;
-            if(propType != null) {
+            if (propType != null) {
                 value = this.processColumn(rs, i, propType);
 
                 if (value == null && propType.isPrimitive()) {
diff --git a/src/main/java/org/apache/commons/dbutils/OutParameter.java b/src/main/java/org/apache/commons/dbutils/OutParameter.java
index f40ce5d..ced20cb 100644
--- a/src/main/java/org/apache/commons/dbutils/OutParameter.java
+++ b/src/main/java/org/apache/commons/dbutils/OutParameter.java
@@ -1,9 +1,10 @@
 /*
- * Copyright 2014 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -80,8 +81,7 @@ public class OutParameter<T> {
      * Get the Java class for this OUT parameter.
      * @return the Java class for this OUT parameter.
      */
-    public Class<T> getJavaType()
-    {
+    public Class<T> getJavaType() {
         return javaType;
     }
 
@@ -135,8 +135,7 @@ public class OutParameter<T> {
     }
 
     @Override
-    public String toString()
-    {
+    public String toString() {
         return "OutParameter{" + "sqlType=" + sqlType + ", javaType="
             + javaType + ", value=" + value + '}';
     }
diff --git a/src/main/java/org/apache/commons/dbutils/StatementConfiguration.java b/src/main/java/org/apache/commons/dbutils/StatementConfiguration.java
index be89c58..cd6cb5d 100644
--- a/src/main/java/org/apache/commons/dbutils/StatementConfiguration.java
+++ b/src/main/java/org/apache/commons/dbutils/StatementConfiguration.java
@@ -35,7 +35,8 @@ public class StatementConfiguration {
      * @param maxRows The maximum number of rows that a {@code ResultSet} can produce.
      * @param queryTimeout The number of seconds the driver will wait for execution.
      */
-    public StatementConfiguration(final Integer fetchDirection, final Integer fetchSize, final Integer maxFieldSize, final Integer maxRows,
+    public StatementConfiguration(final Integer fetchDirection, final Integer fetchSize,
+                                  final Integer maxFieldSize, final Integer maxRows,
                                   final Integer queryTimeout) {
         this.fetchDirection = fetchDirection;
         this.fetchSize = fetchSize;
@@ -144,31 +145,59 @@ public class StatementConfiguration {
         private Integer queryTimeout;
         private Integer maxFieldSize;
 
+        /**
+         * @param fetchDirection The direction for fetching rows from database tables.
+         * @return This builder for chaining.
+         * @see StatementConfiguration#getFetchDirection()
+         */
         public Builder fetchDirection(final Integer fetchDirection) {
             this.fetchDirection = fetchDirection;
             return this;
         }
 
+        /**
+         * @param fetchSize The number of rows that should be fetched from the database when more rows are needed.
+         * @return This builder for chaining.
+         * @see StatementConfiguration#getFetchSize()
+         */
         public Builder fetchSize(final Integer fetchSize) {
             this.fetchSize = fetchSize;
             return this;
         }
 
+        /**
+         * @param maxRows The maximum number of rows that a {@code ResultSet} can produce.
+         * @return This builder for chaining.
+         * @see StatementConfiguration#getMaxRows()
+         */
         public Builder maxRows(final Integer maxRows) {
             this.maxRows = maxRows;
             return this;
         }
 
+        /**
+         * @param queryTimeout The number of seconds the driver will wait for execution.
+         * @return This builder for chaining.
+         * @see StatementConfiguration#getQueryTimeout()
+         */
         public Builder queryTimeout(final Integer queryTimeout) {
             this.queryTimeout = queryTimeout;
             return this;
         }
 
+        /**
+         * @param maxFieldSize The maximum number of bytes that can be returned for character and binary column values.
+         * @return This builder for chaining.
+         * @see StatementConfiguration#getMaxFieldSize()
+         */
         public Builder maxFieldSize(final Integer maxFieldSize) {
             this.maxFieldSize = maxFieldSize;
             return this;
         }
 
+        /**
+         * @return A new and configured {@link StatementConfiguration}.
+         */
         public StatementConfiguration build() {
             return new StatementConfiguration(fetchDirection, fetchSize, maxFieldSize, maxRows, queryTimeout);
         }
diff --git a/src/main/java/org/apache/commons/dbutils/handlers/properties/DatePropertyHandler.java b/src/main/java/org/apache/commons/dbutils/handlers/properties/DatePropertyHandler.java
index 24f8971..9f9e491 100644
--- a/src/main/java/org/apache/commons/dbutils/handlers/properties/DatePropertyHandler.java
+++ b/src/main/java/org/apache/commons/dbutils/handlers/properties/DatePropertyHandler.java
@@ -21,10 +21,14 @@ import org.apache.commons.dbutils.PropertyHandler;
 import java.sql.Timestamp;
 import java.util.Date;
 
+/**
+ * {@link PropertyHandler} for date fields. Will convert {@link java.sql.Date}, {@link java.sql.Time}, and
+ * {@link java.sql.Timestamp} from SQL types to java types.
+ */
 public class DatePropertyHandler implements PropertyHandler {
     @Override
     public boolean match(final Class<?> parameter, final Object value) {
-        if (value instanceof java.util.Date) {
+        if (value instanceof Date) {
             final String targetType = parameter.getName();
             if ("java.sql.Date".equals(targetType)) {
                 return true;
@@ -44,7 +48,7 @@ public class DatePropertyHandler implements PropertyHandler {
     @Override
     public Object apply(final Class<?> parameter, Object value) {
         final String targetType = parameter.getName();
-        final Date dateValue = (java.util.Date) value;
+        final Date dateValue = (Date) value;
         final long time = dateValue.getTime();
 
         if ("java.sql.Date".equals(targetType)) {
diff --git a/src/main/java/org/apache/commons/dbutils/handlers/properties/StringEnumPropertyHandler.java b/src/main/java/org/apache/commons/dbutils/handlers/properties/StringEnumPropertyHandler.java
index bf3bdf5..8af56ea 100644
--- a/src/main/java/org/apache/commons/dbutils/handlers/properties/StringEnumPropertyHandler.java
+++ b/src/main/java/org/apache/commons/dbutils/handlers/properties/StringEnumPropertyHandler.java
@@ -18,6 +18,9 @@ package org.apache.commons.dbutils.handlers.properties;
 
 import org.apache.commons.dbutils.PropertyHandler;
 
+/**
+ * {@link PropertyHandler} for enums. Will convert strings to enums.
+ */
 public class StringEnumPropertyHandler implements PropertyHandler {
     @Override
     public boolean match(final Class<?> parameter, final Object value) {
diff --git a/src/test/java/org/apache/commons/dbutils/OutParameterTest.java b/src/test/java/org/apache/commons/dbutils/OutParameterTest.java
index 657a555..ce173d8 100644
--- a/src/test/java/org/apache/commons/dbutils/OutParameterTest.java
+++ b/src/test/java/org/apache/commons/dbutils/OutParameterTest.java
@@ -1,9 +1,10 @@
 /*
- * Copyright 2014 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *