package org.fastcatsearch.job.state;
import java.io.IOException;
import org.fastcatsearch.common.io.Streamable;
import org.fastcatsearch.ir.io.DataInput;
import org.fastcatsearch.ir.io.DataOutput;
public abstract class TaskKey implements Streamable {
protected String key;
public TaskKey() {
}
public TaskKey(String key) {
this.key = key;
}
public String getKey() {
return key;
}
// public TaskState createState() {
// return createState(false);
// }
//
// public abstract TaskState createState(boolean isScheduled);
@Override
public int hashCode() {
return key.hashCode();
}
@Override
public boolean equals(Object other) {
return key.equals(((TaskKey) other).key);
}
@Override
public void readFrom(DataInput input) throws IOException {
key = input.readString();
}
@Override
public void writeTo(DataOutput output) throws IOException {
output.writeString(key);
}
public abstract String getSummary();
}