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; } }