package com.thinkaurelius.faunus.formats.rexster;
import org.apache.hadoop.io.Writable;
import org.apache.hadoop.mapreduce.InputSplit;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
/**
* A InputSplit that spans a set of vertices.
*
* @author Stephen Mallette (http://stephen.genoprime.com)
*/
public class RexsterInputSplit extends InputSplit implements Writable {
private long end = 0;
private long start = 0;
public RexsterInputSplit() {
}
public RexsterInputSplit(long start, long end) {
this.start = start;
this.end = end;
}
public String[] getLocations() throws IOException {
return new String[]{};
}
public long getStart() {
return start;
}
public long getEnd() {
return end;
}
public long getLength() throws IOException {
return end - start;
}
public void readFields(DataInput input) throws IOException {
start = input.readLong();
end = input.readLong();
}
public void write(DataOutput output) throws IOException {
output.writeLong(start);
output.writeLong(end);
}
@Override
public String toString() {
return String.format("Split at [%s to %s]", this.start, this.end == Long.MAX_VALUE ? "END" : this.end - 1);
}
}