001 /*
002 @license.text@
003 */
004 package biz.hammurapi.cache;
005
006 import biz.hammurapi.config.Component;
007 import biz.hammurapi.util.Acceptor;
008
009
010 /**
011 * @author Pavel Vlasov
012 * @version $Revision: 1.2 $
013 */
014 public interface Cache extends Producer, Component {
015 /**
016 * Puts entry to cache
017 * @param key Key
018 * @param value Value
019 * @param time Timestamp (last modified)
020 * @param expirationTime Expiration time
021 */
022 void put(Object key, Object value, long time, long expirationTime);
023
024 /**
025 * Removes all cache entries
026 */
027 void clear();
028 /**
029 * Removes entry with specified key
030 * @param key
031 */
032 void remove(Object key);
033 /**
034 * Removes keys accepted by acceptor
035 * @param acceptor
036 */
037 void remove(Acceptor acceptor);
038
039 /**
040 *
041 * @return true if not shut down
042 */
043 boolean isActive();
044 }