org.apache.batik.util

Class 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 classSoftDoublyIndexedTable.Entry
To manage collisions
Field Summary
protected intcount
The number of entries
protected static intINITIAL_CAPACITY
The initial capacity
protected ReferenceQueuereferenceQueue
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
voidclear()
Clears the table.
Objectget(Object o1, Object o2)
Gets the value of a variable
protected inthashCode(Object o1, Object o2)
Computes a hash code corresponding to the given objects.
Objectput(Object o1, Object o2, Object value)
Sets a new value for the given variable
protected voidrehash()
Rehash the table
protected voidremoveClearedEntries()
Removes the cleared entries.
intsize()
Returns the size of this table.

Field Detail

count

protected int count
The number of entries

INITIAL_CAPACITY

protected static final int INITIAL_CAPACITY
The initial capacity

referenceQueue

protected ReferenceQueue referenceQueue
The reference queue.

table

protected SoftDoublyIndexedTable.Entry[] table
The underlying array

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

clear

public void clear()
Clears the table.

get

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

Returns: the value or null

hashCode

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

put

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

Returns: the old value or null

rehash

protected void rehash()
Rehash the table

removeClearedEntries

protected void removeClearedEntries()
Removes the cleared entries.

size

public int size()
Returns the size of this table.
Copyright B) 2007 Apache Software Foundation. All Rights Reserved.