修正isWrapFor && unwrap

git-svn-id: http://code.alibabatech.com/svn/druid/trunk@478 b9813039-fb51-4c41-a8b9-e21c2acb5095
This commit is contained in:
wenshao
2011-07-19 09:48:20 +00:00
parent babcee9b43
commit 97e4f4ecde
5 changed files with 33 additions and 10 deletions
@@ -23,6 +23,12 @@ import java.sql.Wrapper;
*/
public class PoolableWrapper implements Wrapper {
private final Wrapper wraaper;
public PoolableWrapper(Wrapper wraaper){
this.wraaper = wraaper;
}
@Override
public boolean isWrapperFor(Class<?> iface) throws SQLException {
if (iface == null) {
@@ -32,8 +38,12 @@ public class PoolableWrapper implements Wrapper {
if (iface.isInstance(this)) {
return true;
}
if (iface.isInstance(wraaper)) {
return true;
}
return false;
return wraaper.isWrapperFor(iface);
}
@SuppressWarnings("unchecked")
@@ -46,8 +56,12 @@ public class PoolableWrapper implements Wrapper {
if (iface.isInstance(this)) {
return (T) this;
}
if (iface.isInstance(wraaper)) {
return (T) wraaper;
}
return null;
return wraaper.unwrap(iface);
}
}