Package org.h2.util
Class SmallMap
- java.lang.Object
-
- org.h2.util.SmallMap
-
public class SmallMap extends java.lang.ObjectA simple hash table with an optimization for the last recently used object.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Objectcacheprivate intcacheIdprivate intlastIdprivate java.util.HashMap<java.lang.Integer,java.lang.Object>mapprivate intmaxElements
-
Constructor Summary
Constructors Constructor Description SmallMap(int maxElements)Create a map with the given maximum number of entries.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intaddObject(int id, java.lang.Object o)Add an object to the map.voidfreeObject(int id)Remove an object from the map.java.lang.ObjectgetObject(int id, boolean ifAvailable)Get an object from the map if it is stored.
-
-
-
Method Detail
-
addObject
public int addObject(int id, java.lang.Object o)Add an object to the map. If the size of the map is larger than twice the maximum size, objects with a low id are removed.- Parameters:
id- the object ido- the object- Returns:
- the id
-
freeObject
public void freeObject(int id)
Remove an object from the map.- Parameters:
id- the id of the object to remove
-
getObject
public java.lang.Object getObject(int id, boolean ifAvailable)Get an object from the map if it is stored.- Parameters:
id- the id of the objectifAvailable- only return it if available, otherwise return null- Returns:
- the object or null
- Throws:
DbException- if isAvailable is false and the object has not been found
-
-