org.siebengeisslein.indexedlist
Class BTreeIndex<Key,Value>

java.lang.Object
  extended by org.siebengeisslein.client.Persistent
      extended by org.siebengeisslein.indexedlist.BTreeIndex<Key,Value>
All Implemented Interfaces:
java.lang.Cloneable, CloneAndMergeAware, CloneAware, Instrumented, MergeAware, Index<Key,Value>
Direct Known Subclasses:
EnumIndex, FullTextIndex, MultiBTreeIndex

public class BTreeIndex<Key,Value>
extends Persistent
implements Index<Key,Value>


Constructor Summary
BTreeIndex(IndexType type, BTreeNodeContentFactory factory, int order, java.lang.String fieldName, int componentId, boolean unique)
           
 
Method Summary
 void add(Value value)
           
 java.util.Iterator allIterator()
           
 BTreeIndex clone(CloneHelper helper)
           
 void get(Key key, java.util.List<Ref> result, int maxCount)
           
 int getComponentId()
           
protected  BTreeNodeContentFactory getFactory()
           
 java.lang.String getFieldName()
           
protected  java.lang.String getGetterName()
           
protected  Key getKey(Value entry)
           
protected  int getOrder()
           
 void getPrefix(Key key, java.util.List<Ref> result, int maxCount)
           
protected  BTreeNode<Key,BTreeNode> getRoot()
           
 IndexType getType()
           
 void merge(java.lang.Object newObject, MergeContext helper)
           
 void optimize()
           
protected  void remove(Key key, Value entry)
           
 void remove(Value entry)
           
 void replaceMerged(MergeContext helper)
           
 java.lang.String toString()
           
 
Methods inherited from class org.siebengeisslein.client.Persistent
abort, clearUserLocals, clone, commit, disposeTransient, getGroup, getRef, getTransientValue, hashCode, initTransient, isWriteTransaction, joinWriteTransaction, readLock, setGroup, setTransientValue, toPersistent, toRef, writeExternal, writeLock
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BTreeIndex

public BTreeIndex(IndexType type,
                  BTreeNodeContentFactory factory,
                  int order,
                  java.lang.String fieldName,
                  int componentId,
                  boolean unique)
Method Detail

add

public void add(Value value)
Specified by:
add in interface Index<Key,Value>

get

public void get(Key key,
                java.util.List<Ref> result,
                int maxCount)
Specified by:
get in interface Index<Key,Value>

getPrefix

public void getPrefix(Key key,
                      java.util.List<Ref> result,
                      int maxCount)

getKey

protected Key getKey(Value entry)

getGetterName

protected java.lang.String getGetterName()

remove

public void remove(Value entry)
            throws KeyNotFoundException
Specified by:
remove in interface Index<Key,Value>
Throws:
KeyNotFoundException

remove

protected void remove(Key key,
                      Value entry)

allIterator

public java.util.Iterator allIterator()
Specified by:
allIterator in interface Index<Key,Value>

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

getFieldName

public java.lang.String getFieldName()
Specified by:
getFieldName in interface Index<Key,Value>

getFactory

protected BTreeNodeContentFactory getFactory()

getOrder

protected int getOrder()

getRoot

protected BTreeNode<Key,BTreeNode> getRoot()

getType

public IndexType getType()
Specified by:
getType in interface Index<Key,Value>

getComponentId

public int getComponentId()
                   throws java.lang.UnsupportedOperationException
Specified by:
getComponentId in interface MergeAware
Throws:
java.lang.UnsupportedOperationException

clone

public BTreeIndex clone(CloneHelper helper)
                 throws java.lang.CloneNotSupportedException
Specified by:
clone in interface CloneAware
Throws:
java.lang.CloneNotSupportedException

merge

public void merge(java.lang.Object newObject,
                  MergeContext helper)
Specified by:
merge in interface MergeAware

replaceMerged

public void replaceMerged(MergeContext helper)
Specified by:
replaceMerged in interface MergeAware

optimize

public void optimize()
Specified by:
optimize in interface Index<Key,Value>