* @see org.rssowl.core.model.preferences.IPreferencesNode#getIntegers(java.lang.String)
*/
public int[] getIntegers(String key) {
synchronized (fCache) {
/* Consult Cache */
IPreference cachedPref = fCache.get(key);
if (cachedPref != null && cachedPref.getIntegers() != null)
return cachedPref.getIntegers();
/* Consult the Persistence Layer */
IPreference pref = load(key);
if (pref != null && pref.getIntegers() != null) {
fCache.put(key, pref);
return pref.getIntegers();
}
/* Ask Parent */
int[] parentValue = fParent.getIntegers(key);
/* Cache value from parent */
if (parentValue != null) {
pref = Owl.getModelFactory().createPreference(key);
pref.putIntegers(parentValue);
fCache.put(key, pref);
}
return parentValue;
}
}