org.deri.iris.storage.simple
Class SimpleIndexFactory

java.lang.Object
  extended by org.deri.iris.storage.simple.SimpleIndexFactory
All Implemented Interfaces:
IIndexFactory

public class SimpleIndexFactory
extends Object
implements IIndexFactory

Factory for simple indexes.


Constructor Summary
SimpleIndexFactory()
           
 
Method Summary
 IIndex createIndex(IRelation relation, IEquivalentTerms equivalentTerms, int... indices)
          Creates a new index on the given relation on the given terms positions (indices).
 IIndex createIndex(IRelation relation, int... indices)
          Creates a new index on the given relation on the given terms positions (indices).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SimpleIndexFactory

public SimpleIndexFactory()
Method Detail

createIndex

public IIndex createIndex(IRelation relation,
                          int... indices)
Description copied from interface: IIndexFactory
Creates a new index on the given relation on the given terms positions (indices).

Specified by:
createIndex in interface IIndexFactory
Parameters:
relation - The relation that the index will use.
indices - The ordered collection of indices. This collection must have a size 0 <= size <= arity of the relation. e.g. to create an index on terms c1 and c4 for a relation Q( c0, c1, c2, c3, c4 ), the indices will be { 1, 4 }
Returns:
The new index instance.

createIndex

public IIndex createIndex(IRelation relation,
                          IEquivalentTerms equivalentTerms,
                          int... indices)
Description copied from interface: IIndexFactory
Creates a new index on the given relation on the given terms positions (indices). The index uses the specified equivalent terms to identify equivalent terms. When tuples of this index are matched against a specific key, this index also returns tuples, whose corresponding terms are equivalent to the terms of the key.

Specified by:
createIndex in interface IIndexFactory
Parameters:
relation - The relation that the index will use.
equivalentTerms - The equivalent terms.
indices - The ordered collection of indices. This collection must have a size 0 <= size <= arity of the relation. e.g. to create an index on terms c1 and c4 for a relation Q( c0, c1, c2, c3, c4 ), the indices will be { 1, 4 }
Returns:
The new index instance.