in src/main/java/org/apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java [308:375]
public Object getObjectInstance(final Object refObj, final Name name, final Context context, final Hashtable<?, ?> env) throws ClassNotFoundException {
// The spec says to return null if we can't create an instance
// of the reference
DriverAdapterCPDS cpds = null;
if (refObj instanceof Reference) {
final Reference ref = (Reference) refObj;
if (ref.getClassName().equals(getClass().getName())) {
RefAddr ra = ref.get(KEY_DESCRIPTION);
if (isNotEmpty(ra)) {
setDescription(getStringContent(ra));
}
ra = ref.get(KEY_DRIVER);
if (isNotEmpty(ra)) {
setDriver(getStringContent(ra));
}
ra = ref.get(KEY_URL);
if (isNotEmpty(ra)) {
setUrl(getStringContent(ra));
}
ra = ref.get(Constants.KEY_USER);
if (isNotEmpty(ra)) {
setUser(getStringContent(ra));
}
ra = ref.get(Constants.KEY_PASSWORD);
if (isNotEmpty(ra)) {
setPassword(getStringContent(ra));
}
ra = ref.get(KEY_POOL_PREPARED_STATEMENTS);
if (isNotEmpty(ra)) {
setPoolPreparedStatements(getBooleanContentString(ra));
}
ra = ref.get(KEY_MAX_IDLE);
if (isNotEmpty(ra)) {
setMaxIdle(getIntegerStringContent(ra));
}
ra = ref.get(KEY_TIME_BETWEEN_EVICTION_RUNS_MILLIS);
if (isNotEmpty(ra)) {
setTimeBetweenEvictionRunsMillis(getIntegerStringContent(ra));
}
ra = ref.get(KEY_NUM_TESTS_PER_EVICTION_RUN);
if (isNotEmpty(ra)) {
setNumTestsPerEvictionRun(getIntegerStringContent(ra));
}
ra = ref.get(KEY_MIN_EVICTABLE_IDLE_TIME_MILLIS);
if (isNotEmpty(ra)) {
setMinEvictableIdleTimeMillis(getIntegerStringContent(ra));
}
ra = ref.get(KEY_MAX_PREPARED_STATEMENTS);
if (isNotEmpty(ra)) {
setMaxPreparedStatements(getIntegerStringContent(ra));
}
ra = ref.get(KEY_ACCESS_TO_UNDERLYING_CONNECTION_ALLOWED);
if (isNotEmpty(ra)) {
setAccessToUnderlyingConnectionAllowed(getBooleanContentString(ra));
}
cpds = this;
}
}
return cpds;
}