package eu.simstadt.nf; /** * Enumeration of possible states of nF import and export jobs. * * @author Marcel Bruse */ public enum JobStatus { UNKOWN(-1), PENDING(0), RUNNING(10), FAILED(20), FINISHED(30); public static final String UNKNOWN_STATUS_MESSAGE = "The state of the job is unknown."; public static final String PENDING_MESSAGE = "Job is pending."; public static final String RUNNING_MESSAGE = "Job is running."; public static final String FAILED_MESSAGE = "Job failed."; public static final String FINISHED_MESSAGE = "Job is finished."; private int jobId; private int value; private String message; private JobStatus(int value) { this.value = value; if (value == 0) { message = PENDING_MESSAGE; } else if (value == 10) { message = RUNNING_MESSAGE; } else if (value == 20) { message = FAILED_MESSAGE; } else if (value == 30) { message = FINISHED_MESSAGE; } else { message = UNKNOWN_STATUS_MESSAGE; } } public static JobStatus getInstanceForStatus(int status) { if (status == 0) { return PENDING; } else if (status == 10) { return RUNNING; } else if (status == 20) { return FAILED; } else if (status == 30) { return FINISHED; } else { return UNKOWN; } } public int getValue() { return value; } public int getJobId() { return jobId; } public void setJobId(int jobId) { this.jobId = jobId; } public void setMessage(String message) { this.message = message; } public String getMessage() { return message; } public boolean isFinished() { return this == FINISHED; } }