package io.teknek.nibiru.engine.atom; public class RangeTombstoneKey extends AtomKey { private final String startRange; private final String endRange; public RangeTombstoneKey(String startRange, String endRange){ this.startRange = startRange; this.endRange = endRange; } @Override public int compareTo(AtomKey o) { if (o instanceof RowTombstoneKey){ return 1; } else if (o instanceof RangeTombstoneKey){ RangeTombstoneKey k = (RangeTombstoneKey) o; int keyCompare = startRange.compareTo(k.startRange); if (keyCompare < 0){ return -1; } else if (keyCompare > 1){ return 1; } else { return endRange.compareTo(k.endRange); } } else if (o instanceof ColumnKey){ return -1; } throw new IllegalArgumentException("Uncomparable...that is what you are"); } @Override public byte[] externalize() { return "R".getBytes(); } }