in wrapper/src/main/java/software/amazon/jdbc/util/WrapperUtils.java [356:388]
public static boolean isJdbcInterface(final Class<?> clazz) {
if (isJdbcInterfaceCache.containsKey(clazz)) {
return (isJdbcInterfaceCache.get(clazz));
}
if (clazz.isInterface()) {
try {
final Package classPackage = clazz.getPackage();
if (classPackage != null && isJdbcPackage(classPackage.getName())) {
isJdbcInterfaceCache.putIfAbsent(clazz, true);
return true;
}
} catch (final Exception ex) {
// Ignore any exceptions since they're caused by runtime-generated classes, or due to class
// load issues.
}
}
for (final Class<?> iface : clazz.getInterfaces()) {
if (isJdbcInterface(iface)) {
isJdbcInterfaceCache.putIfAbsent(clazz, true);
return true;
}
}
if (clazz.getSuperclass() != null && isJdbcInterface(clazz.getSuperclass())) {
isJdbcInterfaceCache.putIfAbsent(clazz, true);
return true;
}
isJdbcInterfaceCache.putIfAbsent(clazz, false);
return false;
}