/** * */ package com.socialize.cache; /** * Represents an object that can be cached. * @author Jason */ public interface ICacheable<K extends Comparable<K>> { /** * Returns the size in bytes of the object. * @return */ public long getSizeInBytes(); /** * Called when the object is removed from cache. * @param destroy If true the object should be completely destroyed. */ public boolean onRemove(boolean destroy); /** * Called when the object is added to cache. * @param key */ public boolean onPut(K key); /** * Called when the object is retrieved to cache. */ public boolean onGet(); /** * Returns the key for this item in cache. * @return */ public K getKey(); }