blob: 53c6a0c7164c86f46b0545c89f8ee99982bae6cb [file] [log] [blame]
package edu.uci.ics.pregelix.dataflow.context;
public class TaskIterationID {
private TaskID tid;
private int iteration;
public TaskIterationID(TaskID tid, int iteration) {
this.tid = tid;
this.iteration = iteration;
}
public TaskIterationID(String jobId, int partition, int iteration) {
this.tid = new TaskID(jobId, partition);
this.iteration = iteration;
}
public TaskID getTaskID() {
return tid;
}
public int getIteration() {
return iteration;
}
public TaskIterationID getNextTaskIterationID() {
return new TaskIterationID(tid, iteration + 1);
}
public TaskIterationID getPreviousTaskIterationID() {
return new TaskIterationID(tid, iteration - 1);
}
@Override
public int hashCode() {
return tid.hashCode() + iteration;
}
public boolean equals(Object o) {
if (!(o instanceof TaskIterationID)) {
return false;
}
TaskIterationID tiid = (TaskIterationID) o;
return tid.equals(tiid.getTaskID()) && iteration == tiid.getIteration();
}
@Override
public String toString() {
return tid.toString() + " iteration:" + iteration;
}
}