org.hypergraphdb.indexing
Class CompositeIndexer

java.lang.Object
  extended by org.hypergraphdb.indexing.HGIndexer
      extended by org.hypergraphdb.indexing.CompositeIndexer

public class CompositeIndexer
extends HGIndexer


Constructor Summary
CompositeIndexer()
           
CompositeIndexer(HGHandle type, HGIndexer[] indexerParts)
           
 
Method Summary
 boolean equals(java.lang.Object other)
          Declared to enforce implementation.
 java.util.Comparator<?> getComparator(HyperGraph graph)
           Return a comparator used to compare key values return by this indexer.
 ByteArrayConverter<?> getConverter(HyperGraph graph)
          Return a ByteArrayConverter capable of translating keys returned by this indexer to/from a byte[].
 HGIndexer[] getIndexerParts()
           
 java.lang.Object getKey(HyperGraph graph, java.lang.Object atom)
           Returns an index key for the given atom.
 int hashCode()
          Declared to enforce implementation.
 void setIndexerParts(HGIndexer[] indexerParts)
           
 
Methods inherited from class org.hypergraphdb.indexing.HGIndexer
getType, setType
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CompositeIndexer

public CompositeIndexer()

CompositeIndexer

public CompositeIndexer(HGHandle type,
                        HGIndexer[] indexerParts)
Method Detail

equals

public boolean equals(java.lang.Object other)
Description copied from class: HGIndexer

Declared to enforce implementation.

Specified by:
equals in class HGIndexer

getComparator

public java.util.Comparator<?> getComparator(HyperGraph graph)
Description copied from class: HGIndexer

Return a comparator used to compare key values return by this indexer. Note that the comparator's compare method will be invoked with byte[] parameters. It is the comparator's responsibility to convert them to the appropriate run-time type for performing the comparison if need be.

The method may return null if a default byte-by-byte comparator is to be used.

Specified by:
getComparator in class HGIndexer
Parameters:
graph - The current HyperGraph instance.
Returns:
A comparator used to compare key values return by this indexer or null to use a default byte-by-byte comparison of keys.

getConverter

public ByteArrayConverter<?> getConverter(HyperGraph graph)
Description copied from class: HGIndexer

Return a ByteArrayConverter capable of translating keys returned by this indexer to/from a byte[].

Specified by:
getConverter in class HGIndexer
Parameters:
graph - The current HyperGraph instance.
Returns:
The ByteArrayConverter for type of index keys return by this indexer or null if keys are of type byte[].

getKey

public java.lang.Object getKey(HyperGraph graph,
                               java.lang.Object atom)
Description copied from class: HGIndexer

Returns an index key for the given atom.

Specified by:
getKey in class HGIndexer
Parameters:
graph - The current HyperGraph instance.
atom - The atom being indexed.
Returns:
The index key. If the return value is not a byte[], a non-null ByteArrayConverter must be provided by the getConverter method.

hashCode

public int hashCode()
Description copied from class: HGIndexer

Declared to enforce implementation.

Specified by:
hashCode in class HGIndexer

getIndexerParts

public HGIndexer[] getIndexerParts()

setIndexerParts

public void setIndexerParts(HGIndexer[] indexerParts)