org.apache.batik.util
Class SoftDoublyIndexedTable

java.lang.Object
  extended by org.apache.batik.util.SoftDoublyIndexedTable

public class SoftDoublyIndexedTable
extends Object

This class represents a doubly indexed hash table, which holds soft references to the contained values.
This HashMap is not Thread-safe.


Nested Class Summary
protected  class SoftDoublyIndexedTable.Entry
          To manage collisions
 
Field Summary
protected  int count
          The number of entries
protected static int INITIAL_CAPACITY
          The initial capacity
protected  ReferenceQueue referenceQueue
          The reference queue.
protected  SoftDoublyIndexedTable.Entry[] table
          The underlying array
 
Constructor Summary
SoftDoublyIndexedTable()
          Creates a new SoftDoublyIndexedTable.
SoftDoublyIndexedTable(int c)
          Creates a new DoublyIndexedTable.
 
Method Summary
 void clear()
          Clears the table.
 Object get(Object o1, Object o2)
          Gets the value of a variable
protected  int hashCode(Object o1, Object o2)
          Computes a hash code corresponding to the given objects.
 Object put(Object o1, Object o2, Object value)
          Sets a new value for the given variable
protected  void rehash()
          Rehash the table
protected  void removeClearedEntries()
          Removes the cleared entries.
 int size()
          Returns the size of this table.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INITIAL_CAPACITY

protected static final int INITIAL_CAPACITY
The initial capacity

See Also:
Constant Field Values

table

protected SoftDoublyIndexedTable.Entry[] table
The underlying array


count

protected int count
The number of entries


referenceQueue

protected ReferenceQueue referenceQueue
The reference queue.

Constructor Detail

SoftDoublyIndexedTable

public SoftDoublyIndexedTable()
Creates a new SoftDoublyIndexedTable.


SoftDoublyIndexedTable

public SoftDoublyIndexedTable(int c)
Creates a new DoublyIndexedTable.

Parameters:
c - The inital capacity.
Method Detail

size

public int size()
Returns the size of this table.


get

public Object get(Object o1,
                  Object o2)
Gets the value of a variable

Returns:
the value or null

put

public Object put(Object o1,
                  Object o2,
                  Object value)
Sets a new value for the given variable

Returns:
the old value or null

clear

public void clear()
Clears the table.


rehash

protected void rehash()
Rehash the table


hashCode

protected int hashCode(Object o1,
                       Object o2)
Computes a hash code corresponding to the given objects.


removeClearedEntries

protected void removeClearedEntries()
Removes the cleared entries.



Copyright © 2008 Apache Software Foundation. All Rights Reserved.