package dovetaildb.bagindex;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import dovetaildb.bytes.ArrayBytes;
import dovetaildb.bytes.Bytes;
public class EditRec {
long docId;
Bytes term;
boolean isDeletion;
public EditRec(long docId, Bytes term, boolean isDeletion) {
this.docId = docId;
this.term = term;
this.isDeletion = isDeletion;
}
public EditRec(int i, Bytes bytes) {
this(i, bytes, false);
}
public long getDocId() {
return docId;
}
public void setDocId(long docId) {
this.docId = docId;
}
public boolean isDeletion() {
return isDeletion;
}
public void setDeletion(boolean isDeletion) {
this.isDeletion = isDeletion;
}
public Bytes getTerm() { return term; }
public void setBytes(Bytes t) { term = t; }
public byte[] getTermBytes() {
return term.getBytes();
}
public void setTermBytes(byte[] term) {
this.term = new ArrayBytes(term);
}
public static Comparator<EditRec> cmpById = new Comparator<EditRec>() {
public int compare(EditRec o1, EditRec o2) {
long ret = o1.docId - o2.docId;
if (ret == 0) return o1.term.compareTo(o2.term);
else return (ret > 0) ? 1 : -1;
}
};
public static void sortById(ArrayList<EditRec> edits) {
Collections.sort(edits, cmpById);
}
public String toString() {
return "EditRec("+docId+":"+term+")";
}
}