1 /* 2 * (c) Copyright 2003, 2004 Hewlett-Packard Development Company, LP 3 * [See end of file] 4 */ 5 6 7 /** 8 * @author Andy Seaborne 9 * @version $Id: CachePolicy.java,v 1.5 2004/04/30 14:13:13 andy_seaborne Exp $ 10 */ 11 12 package org.joseki.util.cache; 13 14 public interface CachePolicy 15 { 16 /** Choose which object(s) to remove. 17 * 18 * @param count The number of objects to decide to go. 19 * 20 * @return Array of keys to remove 21 */ 22 public Object[] expel(int count) ; 23 24 /** Note access to an object */ 25 public void update(Object key) ; 26 27 /** Announce the insertion of a new object into the cache */ 28 public void newItem(Object key, Object value) ; 29 } 30 31 /* 32 * (c) Copyright 2003, 2004 Hewlett-Packard Development Company, LP 33 * All rights reserved. 34 * 35 * Redistribution and use in source and binary forms, with or without 36 * modification, are permitted provided that the following conditions 37 * are met: 38 * 1. Redistributions of source code must retain the above copyright 39 * notice, this list of conditions and the following disclaimer. 40 * 2. Redistributions in binary form must reproduce the above copyright 41 * notice, this list of conditions and the following disclaimer in the 42 * documentation and/or other materials provided with the distribution. 43 * 3. The name of the author may not be used to endorse or promote products 44 * derived from this software without specific prior written permission. 45 * 46 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 47 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 48 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 49 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 50 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 51 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 52 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 53 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 54 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 55 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 56 */ 57