org.axiondb.engine.indexes
Class ObjectArrayIndex

java.lang.Object
  extended by org.axiondb.event.BaseTableModificationListener
      extended by org.axiondb.engine.indexes.BaseIndex
          extended by org.axiondb.engine.indexes.BaseArrayIndex
              extended by org.axiondb.engine.indexes.ObjectArrayIndex
All Implemented Interfaces:
TableModificationListener, Index

public class ObjectArrayIndex
extends BaseArrayIndex

An indexover Object keys.

Version:
$Revision: 1.4 $ $Date: 2005/03/12 02:10:41 $

Field Summary
 
Fields inherited from interface org.axiondb.Index
ARRAY, BTREE, DEFAULT, TTREE
 
Constructor Summary
ObjectArrayIndex(java.lang.String name, Column column, boolean unique)
           
ObjectArrayIndex(java.lang.String name, Column column, boolean unique, java.util.ArrayList keys, org.apache.commons.collections.primitives.IntList values)
           
 
Method Summary
protected  int find(java.lang.Object seeking, boolean required)
           
 IndexLoader getIndexLoader()
           
 java.util.List getKeyList()
           
protected  java.util.List getKeyList(int minIndex, int maxIndex)
           
protected  int insertKey(java.lang.Object seeking)
           
protected  int removeKey(java.lang.Comparable seeking)
           
protected  int removeKey(java.lang.Object value)
           
protected  void removeKeyAt(int index)
           
 void truncate()
           
 
Methods inherited from class org.axiondb.engine.indexes.BaseArrayIndex
changeRowId, getInorderRowIterator, getRowIterator, getType, getValueList, rowDeleted, rowInserted, rowUpdated, save, saveAfterTruncate, supportsFunction
 
Methods inherited from class org.axiondb.engine.indexes.BaseIndex
getComparator, getDataType, getIndexedColumn, getName, isUnique
 
Methods inherited from class org.axiondb.event.BaseTableModificationListener
columnAdded, constraintAdded, constraintRemoved
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.axiondb.Index
getIndexedColumn, getName, isUnique
 
Methods inherited from interface org.axiondb.event.TableModificationListener
columnAdded, constraintAdded, constraintRemoved
 

Constructor Detail

ObjectArrayIndex

public ObjectArrayIndex(java.lang.String name,
                        Column column,
                        boolean unique)

ObjectArrayIndex

public ObjectArrayIndex(java.lang.String name,
                        Column column,
                        boolean unique,
                        java.util.ArrayList keys,
                        org.apache.commons.collections.primitives.IntList values)
Method Detail

getIndexLoader

public IndexLoader getIndexLoader()
Specified by:
getIndexLoader in interface Index
Specified by:
getIndexLoader in class BaseArrayIndex

getKeyList

public java.util.List getKeyList()
Specified by:
getKeyList in class BaseArrayIndex

truncate

public void truncate()
              throws AxionException
Specified by:
truncate in interface Index
Overrides:
truncate in class BaseArrayIndex
Throws:
AxionException

find

protected int find(java.lang.Object seeking,
                   boolean required)
Specified by:
find in class BaseArrayIndex

getKeyList

protected java.util.List getKeyList(int minIndex,
                                    int maxIndex)
Specified by:
getKeyList in class BaseArrayIndex

insertKey

protected int insertKey(java.lang.Object seeking)
                 throws AxionException
Specified by:
insertKey in class BaseArrayIndex
Throws:
AxionException

removeKey

protected int removeKey(java.lang.Comparable seeking)
                 throws AxionException
Throws:
AxionException

removeKey

protected int removeKey(java.lang.Object value)
                 throws AxionException
Specified by:
removeKey in class BaseArrayIndex
Throws:
AxionException

removeKeyAt

protected void removeKeyAt(int index)
                    throws AxionException
Specified by:
removeKeyAt in class BaseArrayIndex
Throws:
AxionException