uka.util
Class ObjectObjectHashBijection

java.lang.Object
  extended byuka.util.IDConstants
      extended byuka.util.ObjectObjectHashBijection
All Implemented Interfaces:
Printable, java.io.Serializable
Direct Known Subclasses:
WeakHashBijection

public class ObjectObjectHashBijection
extends IDConstants
implements java.io.Serializable, Printable

Author:
Bernhard Haumacher
See Also:
Serialized Form

Nested Class Summary
static class ObjectObjectHashBijection.Entry
           
static interface ObjectObjectHashBijection.Iterator
           
 
Field Summary
private  ObjectObjectHashBijection.Entry all
           
private  int expandAt
           
private  HashFunction hashFunction1
           
private  HashFunction hashFunction2
           
private  java.lang.Object INVALID_VALUE1
           
private  java.lang.Object INVALID_VALUE2
           
private  int size
           
private  ObjectObjectHashBijection.Entry[] table1
           
private  ObjectObjectHashBijection.Entry[] table2
           
 
Fields inherited from class uka.util.IDConstants
FIRST_NEW_ID, FIRST_VALID_ID, INVALID_ID, UNUSED_ID
 
Constructor Summary
ObjectObjectHashBijection()
           
ObjectObjectHashBijection(java.lang.Object INVALID_VALUE1, java.lang.Object INVALID_VALUE2)
           
 
Method Summary
 void appendTo(ToString s)
          This method should append the contents of each instance variable of the current object to the given ToString object.
 void clear()
           
protected  ObjectObjectHashBijection.Entry createEntry(java.lang.Object value1, java.lang.Object value2)
          Factory method for creating new entries.
 void dump()
           
private  void ensureCapacity(int size)
           
private  ObjectObjectHashBijection.Entry getEntry1(int hash, java.lang.Object value1)
           
private  ObjectObjectHashBijection.Entry getEntry2(int hash, java.lang.Object value2)
           
protected  int getHash1(java.lang.Object value1)
           
protected  int getHash2(java.lang.Object value2)
           
private  int getIndex(int hash)
           
 int getSize()
           
 java.lang.Object getValue1(java.lang.Object value2)
           
 java.lang.Object getValue2(java.lang.Object value1)
           
private  void init(java.lang.Object INVALID_VALUE1, java.lang.Object INVALID_VALUE2)
           
private  void insert(ObjectObjectHashBijection.Entry newe)
           
 ObjectObjectHashBijection.Iterator iterator()
           
 void put(java.lang.Object value1, java.lang.Object value2)
           
private  void readObject(java.io.ObjectInputStream in)
           
protected  void remove(ObjectObjectHashBijection.Entry e)
           
private  void remove1(int hash1, java.lang.Object value1)
           
 void remove1(java.lang.Object value1)
           
private  void remove2(int hash2, java.lang.Object value2)
           
 void remove2(java.lang.Object value2)
           
private  void setHashSize(int size)
           
 java.lang.String toString()
           
private  void writeObject(java.io.ObjectOutputStream out)
          For serializing an instance of this class, it has to be externalized, because weak references are not serializable.
 
Methods inherited from class uka.util.IDConstants
isNew, isValid, normalizeID, toggleNew
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

INVALID_VALUE1

private java.lang.Object INVALID_VALUE1

INVALID_VALUE2

private java.lang.Object INVALID_VALUE2

hashFunction1

private HashFunction hashFunction1

hashFunction2

private HashFunction hashFunction2

all

private ObjectObjectHashBijection.Entry all

table1

private ObjectObjectHashBijection.Entry[] table1

table2

private ObjectObjectHashBijection.Entry[] table2

size

private int size

expandAt

private int expandAt
Constructor Detail

ObjectObjectHashBijection

public ObjectObjectHashBijection()

ObjectObjectHashBijection

public ObjectObjectHashBijection(java.lang.Object INVALID_VALUE1,
                                 java.lang.Object INVALID_VALUE2)
Method Detail

init

private void init(java.lang.Object INVALID_VALUE1,
                  java.lang.Object INVALID_VALUE2)

getSize

public int getSize()

getIndex

private int getIndex(int hash)

getHash1

protected int getHash1(java.lang.Object value1)

getHash2

protected int getHash2(java.lang.Object value2)

iterator

public ObjectObjectHashBijection.Iterator iterator()

ensureCapacity

private void ensureCapacity(int size)

setHashSize

private void setHashSize(int size)

getEntry1

private ObjectObjectHashBijection.Entry getEntry1(int hash,
                                                  java.lang.Object value1)

getValue2

public java.lang.Object getValue2(java.lang.Object value1)

getEntry2

private ObjectObjectHashBijection.Entry getEntry2(int hash,
                                                  java.lang.Object value2)

getValue1

public java.lang.Object getValue1(java.lang.Object value2)

insert

private void insert(ObjectObjectHashBijection.Entry newe)

remove1

public void remove1(java.lang.Object value1)

remove2

public void remove2(java.lang.Object value2)

remove1

private void remove1(int hash1,
                     java.lang.Object value1)

remove2

private void remove2(int hash2,
                     java.lang.Object value2)

remove

protected void remove(ObjectObjectHashBijection.Entry e)

createEntry

protected ObjectObjectHashBijection.Entry createEntry(java.lang.Object value1,
                                                      java.lang.Object value2)
Factory method for creating new entries. May be overridden in subclasses.


put

public void put(java.lang.Object value1,
                java.lang.Object value2)

clear

public void clear()

writeObject

private void writeObject(java.io.ObjectOutputStream out)
                  throws java.io.IOException
For serializing an instance of this class, it has to be externalized, because weak references are not serializable. Only objects that are currently alive can be marshaled and inserted to the unmarshaled copy. Therefore, the validity of identifiers may differ from the copy that is marshaled and the copy that is unmarshaled.

Throws:
java.io.IOException

readObject

private void readObject(java.io.ObjectInputStream in)
                 throws java.io.IOException,
                        java.lang.ClassNotFoundException
Throws:
java.io.IOException
java.lang.ClassNotFoundException

toString

public java.lang.String toString()

dump

public void dump()

appendTo

public void appendTo(ToString s)
Description copied from interface: Printable
This method should append the contents of each instance variable of the current object to the given ToString object. The appended data should be labeled with the name of the corresponding instance variable.

Specified by:
appendTo in interface Printable
See Also:
ToString, ToString.append(String, Object), ToString.append(String, boolean), ToString.append(String, byte), ToString.append(String, int)