org.apache.directory.server.core.partition.impl.btree
Class IndexComparator

java.lang.Object
  extended byorg.apache.directory.server.core.partition.impl.btree.IndexComparator
All Implemented Interfaces:
java.io.Serializable, TupleComparator

public class IndexComparator
extends java.lang.Object
implements TupleComparator

TupleComparator for index records.

Version:
$Rev: 434579 $
Author:
Apache Directory Project
See Also:
Serialized Form

Constructor Summary
IndexComparator(SerializableComparator keyComp, boolean isForwardMap)
          Creates an IndexComparator.
 
Method Summary
 int compareKey(java.lang.Object key1, java.lang.Object key2)
          Compares key Object to determine their sorting order returning a value = to, < or > than 0.
 int compareValue(java.lang.Object value1, java.lang.Object value2)
          Comparse value Objects to determine their sorting order returning a value = to, < or > than 0.
 SerializableComparator getKeyComparator()
          Gets the comparator used to compare keys.
 SerializableComparator getValueComparator()
          Gets the binary comparator used to compare valuess.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IndexComparator

public IndexComparator(SerializableComparator keyComp,
                       boolean isForwardMap)
Creates an IndexComparator.

Parameters:
keyComp - the table comparator to use for keys
isForwardMap - whether or not the comparator should swap the key value pair while conducting comparisons.
Method Detail

getKeyComparator

public SerializableComparator getKeyComparator()
Gets the comparator used to compare keys. May be null in which case the compareKey method will throw an UnsupportedOperationException.

Specified by:
getKeyComparator in interface TupleComparator
Returns:
the comparator for comparing keys.

getValueComparator

public SerializableComparator getValueComparator()
Gets the binary comparator used to compare valuess. May be null in which case the compareValue method will throw an UnsupportedOperationException.

Specified by:
getValueComparator in interface TupleComparator
Returns:
the binary comparator for comparing values.

compareKey

public int compareKey(java.lang.Object key1,
                      java.lang.Object key2)
Compares key Object to determine their sorting order returning a value = to, < or > than 0.

Specified by:
compareKey in interface TupleComparator
Parameters:
key1 - the first key to compare
key2 - the other key to compare to the first
Returns:
0 if both are equal, a negative value less than 0 if the first is less than the second, or a postive value if the first is greater than the second byte array.

compareValue

public int compareValue(java.lang.Object value1,
                        java.lang.Object value2)
Comparse value Objects to determine their sorting order returning a value = to, < or > than 0.

Specified by:
compareValue in interface TupleComparator
Parameters:
value1 - the first value to compare
value2 - the other value to compare to the first
Returns:
0 if both are equal, a negative value less than 0 if the first is less than the second, or a postive value if the first is greater than the second Object.