public static T getObject()

in src/main/java/org/apache/commons/dbcp2/Jdbc41Bridge.java [263:338]


    public static <T> T getObject(final ResultSet resultSet, final String columnLabel, final Class<T> type)
            throws SQLException {
        try {
            return resultSet.getObject(columnLabel, type);
        } catch (final AbstractMethodError e) {
            // Numbers
            if (type == Integer.class) {
                return (T) Integer.valueOf(resultSet.getInt(columnLabel));
            }
            if (type == Long.class) {
                return (T) Long.valueOf(resultSet.getLong(columnLabel));
            }
            if (type == Double.class) {
                return (T) Double.valueOf(resultSet.getDouble(columnLabel));
            }
            if (type == Float.class) {
                return (T) Float.valueOf(resultSet.getFloat(columnLabel));
            }
            if (type == Short.class) {
                return (T) Short.valueOf(resultSet.getShort(columnLabel));
            }
            if (type == BigDecimal.class) {
                return (T) resultSet.getBigDecimal(columnLabel);
            }
            if (type == Byte.class) {
                return (T) Byte.valueOf(resultSet.getByte(columnLabel));
            }
            // Dates
            if (type == Date.class) {
                return (T) resultSet.getDate(columnLabel);
            }
            if (type == Time.class) {
                return (T) resultSet.getTime(columnLabel);
            }
            if (type == Timestamp.class) {
                return (T) resultSet.getTimestamp(columnLabel);
            }
            // Streams
            if (type == InputStream.class) {
                return (T) resultSet.getBinaryStream(columnLabel);
            }
            if (type == Reader.class) {
                return (T) resultSet.getCharacterStream(columnLabel);
            }
            // Other
            if (type == Object.class) {
                return (T) resultSet.getObject(columnLabel);
            }
            if (type == Boolean.class) {
                return (T) Boolean.valueOf(resultSet.getBoolean(columnLabel));
            }
            if (type == Array.class) {
                return (T) resultSet.getArray(columnLabel);
            }
            if (type == Blob.class) {
                return (T) resultSet.getBlob(columnLabel);
            }
            if (type == Clob.class) {
                return (T) resultSet.getClob(columnLabel);
            }
            if (type == Ref.class) {
                return (T) resultSet.getRef(columnLabel);
            }
            if (type == RowId.class) {
                return (T) resultSet.getRowId(columnLabel);
            }
            if (type == SQLXML.class) {
                return (T) resultSet.getSQLXML(columnLabel);
            }
            if (type == URL.class) {
                return (T) resultSet.getURL(columnLabel);
            }
            throw new SQLFeatureNotSupportedException(
                    String.format("resultSet=%s, columnLabel=%s, type=%s", resultSet, columnLabel, type));
        }
    }