org.semanticweb.HermiT.model
Class InterningManager<E>

java.lang.Object
  extended by org.semanticweb.HermiT.model.InterningManager<E>

public abstract class InterningManager<E>
extends java.lang.Object

The manager for the internable objects.


Nested Class Summary
protected static class InterningManager.Entry<E>
          The entry for the hash map.
 
Field Summary
protected static double LOAD_FACTOR
           
protected  InterningManager.Entry<E>[] m_entries
           
protected  java.lang.ref.ReferenceQueue<E> m_referenceQueue
           
protected  int m_resizeThreshold
           
protected  int m_size
           
 
Constructor Summary
InterningManager()
           
 
Method Summary
protected  InterningManager.Entry<E>[] createEntries(int size)
           
protected abstract  boolean equal(E object1, E object2)
           
protected abstract  int getHashCode(E object)
           
protected  int getIndexFor(int hashCode, int entriesLength)
           
 E intern(E object)
           
protected  void processQueue()
           
protected  void removeEntry(InterningManager.Entry<E> entry)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOAD_FACTOR

protected static final double LOAD_FACTOR
See Also:
Constant Field Values

m_referenceQueue

protected final java.lang.ref.ReferenceQueue<E> m_referenceQueue

m_entries

protected InterningManager.Entry<E>[] m_entries

m_size

protected int m_size

m_resizeThreshold

protected int m_resizeThreshold
Constructor Detail

InterningManager

public InterningManager()
Method Detail

intern

public E intern(E object)

getIndexFor

protected final int getIndexFor(int hashCode,
                                int entriesLength)

removeEntry

protected void removeEntry(InterningManager.Entry<E> entry)

processQueue

protected void processQueue()

createEntries

protected final InterningManager.Entry<E>[] createEntries(int size)

getHashCode

protected abstract int getHashCode(E object)

equal

protected abstract boolean equal(E object1,
                                 E object2)