org.castor.cache.hashbelt.container
Class MapContainer

java.lang.Object
  extended byjava.util.AbstractMap
      extended byorg.castor.util.concurrent.ConcurrentHashMap
          extended byorg.castor.cache.hashbelt.container.MapContainer
All Implemented Interfaces:
java.lang.Cloneable, Container, java.util.Map, java.io.Serializable

public final class MapContainer
extends org.castor.util.concurrent.ConcurrentHashMap
implements Container

A very basic, HashMap-based implementation of the hashmap container strategy, using nothing more than a basic hashmap to store key/value pairs. This works well for lots of gets and a reasonably high volume of removes; if few removes are required, and iterators are important to your particluar use-case of the cache, it's better to use the FastIteratingContainer, which can handle iterating at a higher speed, still has a map for accessing hash values, but has a higher removal cost.

Since:
1.0
Version:
$Revision: 7121 $ $Date: 2006-04-25 16:09:10 -0600 (Tue, 25 Apr 2006) $
Author:
Gregory Block, Ralf Joachim
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class org.castor.util.concurrent.ConcurrentHashMap
org.castor.util.concurrent.ConcurrentHashMap.Entry, org.castor.util.concurrent.ConcurrentHashMap.HashIterator, org.castor.util.concurrent.ConcurrentHashMap.KeyIterator, org.castor.util.concurrent.ConcurrentHashMap.Segment, org.castor.util.concurrent.ConcurrentHashMap.ValueIterator
 
Nested classes inherited from class java.util.AbstractMap
 
Nested classes inherited from class java.util.Map
java.util.Map.Entry
 
Field Summary
 
Fields inherited from class org.castor.util.concurrent.ConcurrentHashMap
CONCURRENCY_LEVEL, DEFAULT_INITIAL_CAPACITY, DEFAULT_LOAD_FACTOR, entrySet, keySet, loadFactor, SEGMENT_MASK, segments, table, threshold, values, votesForResize
 
Constructor Summary
MapContainer()
           
 
Method Summary
 long getTimestamp()
          Returns the timestamp of this container.
 java.util.Iterator keyIterator()
          Returns an iterator over the keys contained in this container. If the container is modified while an iteration is in progress, the results of the iteration is not affected and vice-versa.
 void updateTimestamp()
          Set the timestamp of this container to System.currentTimeMillis().
 java.util.Iterator valueIterator()
          Returns an iterator over the values contained in this container. If the container is modified while an iteration is in progress, the results of the iteration is not affected and vice-versa.
 
Methods inherited from class org.castor.util.concurrent.ConcurrentHashMap
bitcount, clear, clone, contains, containsKey, containsValue, elements, entrySet, eq, get, hash, isEmpty, keys, keySet, newTable, put, putAll, rehash, remove, remove, resize, 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
clear, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, keySet, put, putAll, remove, size, values
 

Constructor Detail

MapContainer

public MapContainer()
Method Detail

updateTimestamp

public void updateTimestamp()
Set the timestamp of this container to System.currentTimeMillis().

Specified by:
updateTimestamp in interface Container
See Also:
Container.updateTimestamp()

getTimestamp

public long getTimestamp()
Returns the timestamp of this container.

Specified by:
getTimestamp in interface Container
Returns:
The timestamp.
See Also:
Container.getTimestamp()

keyIterator

public java.util.Iterator keyIterator()
Returns an iterator over the keys contained in this container. If the container is modified while an iteration is in progress, the results of the iteration is not affected and vice-versa.

Specified by:
keyIterator in interface Container
Returns:
An iterator over the keys currently contained in the container.
See Also:
Container.keyIterator()

valueIterator

public java.util.Iterator valueIterator()
Returns an iterator over the values contained in this container. If the container is modified while an iteration is in progress, the results of the iteration is not affected and vice-versa.

Specified by:
valueIterator in interface Container
Returns:
An iterator over the values currently contained in the container.
See Also:
Container.valueIterator()


Copyright 2008 null. All Rights Reserved.