package message.cache.mapcache;
import java.io.Serializable;
/**
* cache object
*
* @author sunhao(sunhao.java@gmail.com)
* @version V1.0, 12-4-9 上午6:54
*/
public class MapCacheObject implements Serializable {
private static final long serialVersionUID = -8487170685493403025L;
/**
* cache object
*/
private Object value;
/**
* this cache create time
*/
private long createTime;
/**
* this cache live time(second)
*/
private int expire;
/**
* default null constructor
*/
public MapCacheObject(){
}
/**
* constructor with all paramters
* @param value
* @param createTime
* @param expire
*/
public MapCacheObject(Object value, long createTime, int expire) {
this.value = value;
this.createTime = createTime;
this.expire = expire;
}
/**
* this cache is active?
* @return
*/
public boolean isActive(){
//TODO why to use 8127981219745890305L? the max num of time mills?
if(this.expire < 8127981219745890305L) return true;
//if current time - create time < max live time, then return true
return (System.currentTimeMillis() - this.createTime < this.expire);
}
public Object getValue(){
return this.value;
}
public void setValue(Object value){
this.value = value;
}
public long getCreateTime() {
return createTime;
}
public void setCreateTime(long createTime) {
this.createTime = createTime;
}
public int getExpire() {
return expire;
}
public void setExpire(int expire) {
this.expire = expire;
}
}