package com.github.signed.tryanderror.jersey.resources;
public class LongRunningProcess {
public static enum State{
Created,
Running,
Completed
}
public final ProcessIdentifier identifier;
private final ProcessInput input;
private State state ;
public static LongRunningProcess createNewLongRunningProcess(ProcessIdentifier identifier, ProcessInput input) {
return new LongRunningProcess(identifier, input, State.Created);
}
public LongRunningProcess(ProcessIdentifier identifier, ProcessInput input, State state) {
this.identifier = identifier;
this.input = input;
this.state = state;
}
public void start() {
this.state = State.Running;
}
public void completed() {
this.state = State.Completed;
}
@Override
public String toString() {
return String.format("[%s][%s] %s", identifier.toString(), state.toString(), input.toString());
}
}