package com.tri.ui.model;
public abstract class SingleDataController<D> extends DataController<D>
implements Cache {
private static final long serialVersionUID = 1L;
private D data;
/**
* Loaded data will be cached internally, call {@link #clearCache()} to
* clear cache.
*
* @return data object, can be null.
*/
public abstract D load();
@Override
public D getData() {
if (data == null) {
data = load();
}
return data;
}
@Override
public void clearCache() {
data = null;
}
}