org.hypergraphdb.indexing
Class ByPartIndexer

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

public class ByPartIndexer
extends HGIndexer

Represents by the value of a part in a composite type.

Author:
Borislav Iordanov

Constructor Summary
ByPartIndexer()
           
ByPartIndexer(HGHandle type, java.lang.String dimensionPath)
           Convenience constructor that allows passing a dot separated dimension path that is converted to a String[].
ByPartIndexer(HGHandle type, java.lang.String[] dimensionPath)
           
 
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 return by this indexer to/from a byte[].
 java.lang.String[] getDimensionPath()
           
 java.lang.Object getKey(HyperGraph graph, java.lang.Object atom)
           Return an index key for the given atom.
 int hashCode()
          Declared to enforce implementation.
 void setDimensionPath(java.lang.String[] dimensionPath)
           
 
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

ByPartIndexer

public ByPartIndexer()

ByPartIndexer

public ByPartIndexer(HGHandle type,
                     java.lang.String dimensionPath)

Convenience constructor that allows passing a dot separated dimension path that is converted to a String[].

Parameters:
type - The type of the atoms to be indexed.
dimensionPath - The dimension path in dot format (e.g. "person.address.street")

ByPartIndexer

public ByPartIndexer(HGHandle type,
                     java.lang.String[] dimensionPath)
Method Detail

getDimensionPath

public java.lang.String[] getDimensionPath()

setDimensionPath

public void setDimensionPath(java.lang.String[] dimensionPath)

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.

Specified by:
getComparator in class HGIndexer
Parameters:
graph - The current HyperGraph instance.
Returns:
A comparator used to compare key values return by this indexer.

getConverter

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

Return a ByteArrayConverter capable of translating keys return 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

Return 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.

equals

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

Declared to enforce implementation.

Specified by:
equals in class HGIndexer

hashCode

public int hashCode()
Description copied from class: HGIndexer

Declared to enforce implementation.

Specified by:
hashCode in class HGIndexer