/* ==================================================================
* Created [2009-4-27 下午11:32:55] by Jon.King
* ==================================================================
* TSS
* ==================================================================
* mailTo:jinpujun@hotmail.com
* Copyright (c) Jon.King, 2009-2012
* ==================================================================
*/
package com.jinhe.tss.core.cachepool;
/**
* <p> Cacheable.java </p>
*
* 可缓存对象对象接口
*
* @author Jon.King 2006-12-28
*/
public interface Cacheable {
/**
* 获取对象在缓存池中的key值
* @return
*/
Object getKey();
/**
* 获取对象值
* @return
*/
Object getValue();
/**
* 判断对象是否已经过期
* @return
*/
boolean isExpired();
/**
* 是指缓存项的生命周期
* @param cyclelife
*/
void setCyclelife(long cyclelife);
long getCyclelife();
/**
* 获取缓存项最后一次被访问的时间
* @return
*/
long getAccessed();
/**
* 更新缓存项最后一次被访问的时间,同时更新对象的死亡时间
*/
void updateAccessed();
/**
* 获取对象的点击次数
* @return
*/
int getHit();
/**
* 没点击一次,点击率都加1
*/
void addHit();
/**
* 更新缓存对象
* @param value
*/
void update(Object value);
}