in impl/src/main/java/org/apache/geronimo/config/ConfigValueImpl.java [243:293]
private T get(boolean convert) {
long now = -1;
if (cacheTimeNs > 0)
{
now = System.nanoTime();
if (now <= reloadAfter)
{
// now check if anything in the underlying Config got changed
long lastCfgChange = config.getLastChanged();
if (lastCfgChange < lastReloadedAt)
{
return lastValue;
}
}
}
String valueStr = resolveStringValue();
if ((valueStr == null || valueStr.isEmpty()) && withDefault) {
return defaultValue;
}
T value;
if (isList || isSet) {
value = splitAndConvertListValue(valueStr);
if (isSet) {
value = (T) new HashSet((List) value);
}
}
else {
value = convert ? convert(valueStr) : (T) valueStr;
}
//X will later get added again
/*X
if (valueChangeListener != null && (value != null && !value.equals(lastValue) || (value == null && lastValue != null)) )
{
valueChangeListener.onValueChange(keyOriginal, lastValue, value);
}
*/
lastValue = value;
if (cacheTimeNs > 0)
{
reloadAfter = now + cacheTimeNs;
lastReloadedAt = now;
}
return value;
}