package ivory.lsh.data; import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; import org.apache.hadoop.io.WritableComparable; @SuppressWarnings("unchecked") public abstract class PairOfIntSignature implements WritableComparable { public int permNo; Signature signature; public PairOfIntSignature() { super(); // signature = new BitsSignature(); } public PairOfIntSignature(int i, Signature permutedSign) { permNo = i; signature = permutedSign; } public abstract void readFields(DataInput in); public void write(DataOutput out) throws IOException { out.writeInt(permNo); if(signature!=null){ signature.write(out); } } // public int hashCode(){ // return permNo; // } public abstract int compareTo(Object other); public boolean equals(Object other){ PairOfIntSignature p = (PairOfIntSignature) other; return (p.getInt()==getInt() && p.getSignature().equals(this.getSignature())); } public Signature getSignature() { return signature; } public int getInt() { return permNo; } public void setInt(int n){ permNo = n; } public void setSignature(Signature s){ signature = s; } public String toString(){ return "(" + permNo + "," + signature + ")"; } }