org.apache.derby.client.am.stmtcache
Class JDBCStatementCache.BoundedLinkedHashMap
java.lang.Object
java.util.AbstractMap<K,V>
java.util.HashMap<K,V>
java.util.LinkedHashMap<StatementKey,java.sql.PreparedStatement>
org.apache.derby.client.am.stmtcache.JDBCStatementCache.BoundedLinkedHashMap
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, java.util.Map<StatementKey,java.sql.PreparedStatement>
- Enclosing class:
- JDBCStatementCache
private static class JDBCStatementCache.BoundedLinkedHashMap
- extends java.util.LinkedHashMap<StatementKey,java.sql.PreparedStatement>
A LinkedHashMap with an upper bound on the number of entries.
If the maximum size is exceeded, the oldest entry is automatically
removed after the new entry has been inserted.
| Nested classes/interfaces inherited from class java.util.AbstractMap |
java.util.AbstractMap.SimpleEntry<K,V>, java.util.AbstractMap.SimpleImmutableEntry<K,V> |
|
Field Summary |
private int |
maxSize
Maximum number of entries. |
|
Method Summary |
protected boolean |
removeEldestEntry(java.util.Map.Entry<StatementKey,java.sql.PreparedStatement> eldest)
Tells if an entry should be removed from the map. |
| Methods inherited from class java.util.LinkedHashMap |
clear, containsValue, get |
| Methods inherited from class java.util.HashMap |
clone, containsKey, entrySet, isEmpty, keySet, put, putAll, remove, size, values |
| Methods inherited from class java.util.AbstractMap |
equals, hashCode, toString |
| Methods inherited from class java.lang.Object |
finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface java.util.Map |
containsKey, entrySet, equals, hashCode, isEmpty, keySet, put, putAll, remove, size, values |
maxSize
private final int maxSize
- Maximum number of entries.
JDBCStatementCache.BoundedLinkedHashMap
public JDBCStatementCache.BoundedLinkedHashMap(int maxCapacity)
- Creates a bounded
LinkedHashMap with the specified maximum
size.
Iteration is by insertion-order.
- Parameters:
maxCapacity - maximum size of the map
removeEldestEntry
protected boolean removeEldestEntry(java.util.Map.Entry<StatementKey,java.sql.PreparedStatement> eldest)
- Tells if an entry should be removed from the map.
If the cache has exceeded its maximum size, the oldest element will
be marked for removal. The oldest element will be removed after the
new element has been inserted.
- Overrides:
removeEldestEntry in class java.util.LinkedHashMap<StatementKey,java.sql.PreparedStatement>
- Parameters:
eldest - the element picked out for removal
- Returns:
true if the element is to be removed,
false if not.
Apache Derby V10.10 Internals - Copyright © 2004,2013 The Apache Software Foundation. All Rights Reserved.