/* ==================================================================
* 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> Arithmetic.java </p>
*
* 缓存池算法。</p><p>
* 本接口提供了扩充缓存池机制的功能。</p><p>
* 通过实现本接口,用户可以各种定制各种特殊的缓存要求。</p><p>
* 具体操作包括:缓存项创建、销毁以及合法性验证</p><p>
*
* @author Jon.King 2006-12-29
*/
public interface IArithmetic {
/**
* 创建对象,将对象放入池中。</p><p>
* 本方法在check-out方法调用时,池中没有可用对象的时候被调用用来生成新的对象。</p><p>
* @exception
* 不能创建对象则抛出异常
*/
Cacheable create(Long cyclelife);
/**
* 检测对象是否正常。</p><p>
* 当对象被check-out的时候本方法被调用来判断检出对象是否可以使用。</p><p>
* 实现类实现该方法用以确定check-out的对象不会存在问题影响使用。</p><p>
* @param o
* @return
*/
boolean isValid(Cacheable o);
/**
* 销毁对象。</p><p>
* 本方法会在池需要整理/清除,或者释放的时候被调用。
* @param o
*/
void destroy(Cacheable o);
}