org.h2.util
Class SmallMap

java.lang.Object
  extended by org.h2.util.SmallMap

public class SmallMap
extends java.lang.Object

A simple hash table with an optimization for the last recently used object.


Constructor Summary
SmallMap(int maxElements)
          Create a map with the given maximum number of entries.
 
Method Summary
 int addObject(int id, java.lang.Object o)
          Add an object to the map.
 void freeObject(int id)
          Remove an object from the map.
 java.lang.Object getObject(int id, boolean ifAvailable)
          Get an object from the map if it is stored.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SmallMap

public SmallMap(int maxElements)
Create a map with the given maximum number of entries.

Parameters:
maxElements - the maximum number of entries
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 id
o - 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 object
ifAvailable - 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