package ezdb.leveldb; import java.util.Comparator; import org.iq80.leveldb.DBComparator; import ezdb.util.Util; /** * LevelDb provides a comparator interface that we can use to handle hash/range * pairs. * * @author criccomini * */ public class EzLevelDbComparator implements DBComparator { public static final String name = EzLevelDbComparator.class.toString(); private final Comparator<byte[]> hashKeyComparator; private final Comparator<byte[]> rangeKeyComparator; public EzLevelDbComparator(Comparator<byte[]> hashKeyComparator, Comparator<byte[]> rangeKeyComparator) { this.hashKeyComparator = hashKeyComparator; this.rangeKeyComparator = rangeKeyComparator; } @Override public int compare(byte[] k1, byte[] k2) { return Util.compareKeys(hashKeyComparator, rangeKeyComparator, k1, k2); } @Override public byte[] findShortSuccessor(byte[] key) { return key; } @Override public byte[] findShortestSeparator(byte[] start, byte[] limit) { return null; } @Override public String name() { return name; } }