private void testUnwrap() throws SQLException { ResultSet rs = stat.executeQuery("select 1"); assertTrue(rs.isWrapperFor(Object.class)); assertTrue(rs.isWrapperFor(ResultSet.class)); assertTrue(rs.isWrapperFor(rs.getClass())); assertFalse(rs.isWrapperFor(Integer.class)); assertTrue(rs == rs.unwrap(Object.class)); assertTrue(rs == rs.unwrap(ResultSet.class)); assertTrue(rs == rs.unwrap(rs.getClass())); assertThrows(ErrorCode.INVALID_VALUE_2, rs).unwrap(Integer.class); }
@Override public boolean isWrapperFor(Class<?> iface) throws SQLException { if (iface.isAssignableFrom(getClass())) { return true; } else if (iface.isAssignableFrom(_res.getClass())) { return true; } else { return _res.isWrapperFor(iface); } }