org.drools.util
Class TupleIndexHashTable

java.lang.Object
  extended by org.drools.util.AbstractHashTable
      extended by org.drools.util.TupleIndexHashTable
All Implemented Interfaces:
java.io.Externalizable, java.io.Serializable, TupleMemory

public class TupleIndexHashTable
extends AbstractHashTable
implements TupleMemory

See Also:
Serialized Form

Nested Class Summary
static class TupleIndexHashTable.FieldIndexEntry
           
static class TupleIndexHashTable.FieldIndexHashTableFullIterator
           
static class TupleIndexHashTable.FieldIndexHashTableIterator
          Fast re-usable iterator
 
Nested classes/interfaces inherited from class org.drools.util.AbstractHashTable
AbstractHashTable.DoubleCompositeIndex, AbstractHashTable.EqualityEquals, AbstractHashTable.FactEntryImpl, AbstractHashTable.FieldIndex, AbstractHashTable.HashTableIterator, AbstractHashTable.Index, AbstractHashTable.InstanceEquals, AbstractHashTable.ObjectComparator, AbstractHashTable.SingleIndex, AbstractHashTable.TripleCompositeIndex
 
Field Summary
static int PRIME
           
 
Fields inherited from class org.drools.util.AbstractHashTable
comparator, loadFactor, size, table, threshold
 
Constructor Summary
TupleIndexHashTable()
           
TupleIndexHashTable(AbstractHashTable.FieldIndex[] index)
           
TupleIndexHashTable(int capacity, float loadFactor, AbstractHashTable.FieldIndex[] index)
           
 
Method Summary
 void add(ReteTuple tuple)
           
 boolean add(ReteTuple tuple, boolean checkExists)
           
 boolean contains(ReteTuple tuple)
           
 TupleIndexHashTable.FieldIndexEntry get(InternalFactHandle handle)
           
 Entry getBucket(java.lang.Object object)
           
 AbstractHashTable.Index getIndex()
           
 boolean isIndexed()
           
 Iterator iterator()
           
 Iterator iterator(InternalFactHandle handle)
           
 void readExternal(java.io.ObjectInput in)
           
 ReteTuple remove(ReteTuple tuple)
           
 int size()
           
 Entry[] toArray()
           
protected  void updateHashCode(Entry entry)
           
 void writeExternal(java.io.ObjectOutput out)
           
 
Methods inherited from class org.drools.util.AbstractHashTable
getBucket, getTable, indexOf, isEmpty, newIterator, resize, setComparator
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.drools.reteoo.TupleMemory
getTable
 

Field Detail

PRIME

public static final int PRIME
See Also:
Constant Field Values
Constructor Detail

TupleIndexHashTable

public TupleIndexHashTable()

TupleIndexHashTable

public TupleIndexHashTable(AbstractHashTable.FieldIndex[] index)

TupleIndexHashTable

public TupleIndexHashTable(int capacity,
                           float loadFactor,
                           AbstractHashTable.FieldIndex[] index)
Method Detail

readExternal

public void readExternal(java.io.ObjectInput in)
                  throws java.io.IOException,
                         java.lang.ClassNotFoundException
Specified by:
readExternal in interface java.io.Externalizable
Overrides:
readExternal in class AbstractHashTable
Throws:
java.io.IOException
java.lang.ClassNotFoundException

writeExternal

public void writeExternal(java.io.ObjectOutput out)
                   throws java.io.IOException
Specified by:
writeExternal in interface java.io.Externalizable
Overrides:
writeExternal in class AbstractHashTable
Throws:
java.io.IOException

updateHashCode

protected void updateHashCode(Entry entry)
Specified by:
updateHashCode in class AbstractHashTable

iterator

public Iterator iterator()
Specified by:
iterator in interface TupleMemory
Overrides:
iterator in class AbstractHashTable

iterator

public Iterator iterator(InternalFactHandle handle)
Specified by:
iterator in interface TupleMemory

isIndexed

public boolean isIndexed()
Specified by:
isIndexed in interface TupleMemory

getIndex

public AbstractHashTable.Index getIndex()

getBucket

public Entry getBucket(java.lang.Object object)
Specified by:
getBucket in class AbstractHashTable

toArray

public Entry[] toArray()
Specified by:
toArray in interface TupleMemory
Overrides:
toArray in class AbstractHashTable

add

public void add(ReteTuple tuple)
Specified by:
add in interface TupleMemory

add

public boolean add(ReteTuple tuple,
                   boolean checkExists)

remove

public ReteTuple remove(ReteTuple tuple)
Specified by:
remove in interface TupleMemory

contains

public boolean contains(ReteTuple tuple)
Specified by:
contains in interface TupleMemory

get

public TupleIndexHashTable.FieldIndexEntry get(InternalFactHandle handle)

size

public int size()
Specified by:
size in interface TupleMemory
Overrides:
size in class AbstractHashTable