/**
*
*/
package com.gffny.ldrbrd.web.model.cache;
/**
* @author John Gaffney (john@gffny.com) Dec 24, 2012
*
*/
abstract public class CacheFetcher<T> {
public static final int NEVER_EXPIRE = 0;
private String key;
private boolean cacheNullValue;
public CacheFetcher(String key) {
this.key = key;
}
public CacheFetcher(String key, boolean cacheNullValue) {
this.key = key;
this.cacheNullValue = cacheNullValue;
}
public CacheFetcher(Class<?> clazz, String method) {
this(clazz.getName() + "." + method);
}
public String getKey() {
return key;
}
public boolean cacheNullValue() {
return cacheNullValue;
}
public int getExpiration() {
return NEVER_EXPIRE;
}
abstract public T fetch();
}