On 23 November 2011 17:06, <wspe...@apache.org> 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: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org