On 23 November 2011 17:06, <[email protected]> wrote:
> Author: wspeirs
> Date: Wed Nov 23 17:06:27 2011
> New Revision: 1205492
>
> URL: http://svn.apache.org/viewvc?rev=1205492&view=rev
> Log:
> - Added generics to a few handlers: patch from DBUTILS-66
The change also generates "Unchecked cast" warnings.
If the cast is safe, then suppress the warning (as close as possible
to its source) with a comment explaining why, e.g.
@SuppressWarnings("unchecked") // cast is safe because ...
If not, then either avoid the CCE somehow or document it in a throws clause.
> Modified:
>
> commons/proper/dbutils/trunk/src/main/java/org/apache/commons/dbutils/handlers/ColumnListHandler.java
>
> commons/proper/dbutils/trunk/src/main/java/org/apache/commons/dbutils/handlers/KeyedHandler.java
>
> commons/proper/dbutils/trunk/src/main/java/org/apache/commons/dbutils/handlers/ScalarHandler.java
>
> Modified:
> commons/proper/dbutils/trunk/src/main/java/org/apache/commons/dbutils/handlers/ColumnListHandler.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/dbutils/trunk/src/main/java/org/apache/commons/dbutils/handlers/ColumnListHandler.java?rev=1205492&r1=1205491&r2=1205492&view=diff
> ==============================================================================
> ---
> commons/proper/dbutils/trunk/src/main/java/org/apache/commons/dbutils/handlers/ColumnListHandler.java
> (original)
> +++
> commons/proper/dbutils/trunk/src/main/java/org/apache/commons/dbutils/handlers/ColumnListHandler.java
> Wed Nov 23 17:06:27 2011
> @@ -24,10 +24,11 @@ import java.sql.SQLException;
> * <code>ResultSet</code> column into a <code>List</code> of
> * <code>Object</code>s. This class is thread safe.
> *
> + * @param <T> The type of the column.
> * @see org.apache.commons.dbutils.ResultSetHandler
> * @since DbUtils 1.1
> */
> -public class ColumnListHandler extends AbstractListHandler<Object> {
> +public class ColumnListHandler<T> extends AbstractListHandler<T> {
>
> /**
> * The column number to retrieve.
> @@ -90,11 +91,11 @@ public class ColumnListHandler extends A
> * @see
> org.apache.commons.dbutils.handlers.AbstractListHandler#handle(ResultSet)
> */
> @Override
> - protected Object handleRow(ResultSet rs) throws SQLException {
> + protected T handleRow(ResultSet rs) throws SQLException {
> if (this.columnName == null) {
> - return rs.getObject(this.columnIndex);
> + return (T) rs.getObject(this.columnIndex);
> } else {
> - return rs.getObject(this.columnName);
> + return (T) rs.getObject(this.columnName);
> }
> }
>
>
> Modified:
> commons/proper/dbutils/trunk/src/main/java/org/apache/commons/dbutils/handlers/KeyedHandler.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/dbutils/trunk/src/main/java/org/apache/commons/dbutils/handlers/KeyedHandler.java?rev=1205492&r1=1205491&r2=1205492&view=diff
> ==============================================================================
> ---
> commons/proper/dbutils/trunk/src/main/java/org/apache/commons/dbutils/handlers/KeyedHandler.java
> (original)
> +++
> commons/proper/dbutils/trunk/src/main/java/org/apache/commons/dbutils/handlers/KeyedHandler.java
> Wed Nov 23 17:06:27 2011
> @@ -45,10 +45,11 @@ import org.apache.commons.dbutils.RowPro
> * </p>
> * <p>This class is thread safe.</p>
> *
> + * @param <K> The type of the key
> * @see org.apache.commons.dbutils.ResultSetHandler
> * @since DbUtils 1.1
> */
> -public class KeyedHandler extends AbstractKeyedHandler<Object, Map<String,
> Object>> {
> +public class KeyedHandler<K> extends AbstractKeyedHandler<K, Map<String,
> Object>> {
>
> /**
> * The RowProcessor implementation to use when converting rows
> @@ -131,9 +132,10 @@ public class KeyedHandler extends Abstra
> * @throws SQLException if a database access error occurs
> */
> @Override
> - protected Object createKey(ResultSet rs) throws SQLException {
> - return (columnName == null) ? rs.getObject(columnIndex) : rs
> - .getObject(columnName);
> + protected K createKey(ResultSet rs) throws SQLException {
> + return (columnName == null) ?
> + (K) rs.getObject(columnIndex) :
> + (K) rs.getObject(columnName);
> }
>
> /**
>
> Modified:
> commons/proper/dbutils/trunk/src/main/java/org/apache/commons/dbutils/handlers/ScalarHandler.java
> URL:
> http://svn.apache.org/viewvc/commons/proper/dbutils/trunk/src/main/java/org/apache/commons/dbutils/handlers/ScalarHandler.java?rev=1205492&r1=1205491&r2=1205492&view=diff
> ==============================================================================
> ---
> commons/proper/dbutils/trunk/src/main/java/org/apache/commons/dbutils/handlers/ScalarHandler.java
> (original)
> +++
> commons/proper/dbutils/trunk/src/main/java/org/apache/commons/dbutils/handlers/ScalarHandler.java
> Wed Nov 23 17:06:27 2011
> @@ -25,9 +25,10 @@ import org.apache.commons.dbutils.Result
> * <code>ResultSetHandler</code> implementation that converts one
> * <code>ResultSet</code> column into an Object. This class is thread safe.
> *
> + * @param <T> The type of the scalar
> * @see org.apache.commons.dbutils.ResultSetHandler
> */
> -public class ScalarHandler implements ResultSetHandler<Object> {
> +public class ScalarHandler<T> implements ResultSetHandler<T> {
>
> /**
> * The column number to retrieve.
> @@ -91,13 +92,13 @@ public class ScalarHandler implements Re
> *
> * @see
> org.apache.commons.dbutils.ResultSetHandler#handle(java.sql.ResultSet)
> */
> - public Object handle(ResultSet rs) throws SQLException {
> + public T handle(ResultSet rs) throws SQLException {
>
> if (rs.next()) {
> if (this.columnName == null) {
> - return rs.getObject(this.columnIndex);
> + return (T) rs.getObject(this.columnIndex);
> } else {
> - return rs.getObject(this.columnName);
> + return (T) rs.getObject(this.columnName);
> }
>
> } else {
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]