01: /*
02: Copyright (C) 2002-2004 MySQL AB
03:
04: This program is free software; you can redistribute it and/or modify
05: it under the terms of version 2 of the GNU General Public License as
06: published by the Free Software Foundation.
07:
08: There are special exceptions to the terms and conditions of the GPL
09: as it is applied to this software. View the full text of the
10: exception in file EXCEPTIONS-CONNECTOR-J in the directory of this
11: software distribution.
12:
13: This program is distributed in the hope that it will be useful,
14: but WITHOUT ANY WARRANTY; without even the implied warranty of
15: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16: GNU General Public License for more details.
17:
18: You should have received a copy of the GNU General Public License
19: along with this program; if not, write to the Free Software
20: Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21:
22:
23:
24: */
25: package com.mysql.jdbc.util;
26:
27: import java.util.LinkedHashMap;
28: import java.util.Map.Entry;
29:
30: /**
31: * @author Mark Matthews
32: * @version $Id: LRUCache.java 4161 2005-08-30 19:14:01Z eherman $
33: */
34: public class LRUCache extends LinkedHashMap {
35: private static final long serialVersionUID = 1L;
36: protected int maxElements;
37:
38: public LRUCache(int maxSize) {
39: super (maxSize);
40: this .maxElements = maxSize;
41: }
42:
43: /*
44: * (non-Javadoc)
45: *
46: * @see java.util.LinkedHashMap#removeEldestEntry(java.util.Map.Entry)
47: */
48: protected boolean removeEldestEntry(Entry eldest) {
49: return (size() > this.maxElements);
50: }
51: }
|