1 16 package org.outerj.daisy.doctaskrunner; 17 18 public class TaskState { 19 private final String name; 20 private final String code; 21 22 private TaskState(String name, String code) { 23 this.name = name; 24 this.code = code; 25 } 26 27 public String toString() { 28 return name; 29 } 30 31 public String getCode() { 32 return code; 33 } 34 35 public static TaskState getByCode(String code) { 36 if (code.equals(INITIALISING.code)) 37 return INITIALISING; 38 else if (code.equals(RUNNING.code)) 39 return RUNNING; 40 else if (code.equals(FINISHED.code)) 41 return FINISHED; 42 else if (code.equals(FINISHED_WITH_ERRORS.code)) 43 return FINISHED_WITH_ERRORS; 44 else if (code.equals(INTERRUPTED_BY_ERROR.code)) 45 return INTERRUPTED_BY_ERROR; 46 else if (code.equals(INTERRUPTED_BY_USER.code)) 47 return INTERRUPTED_BY_USER; 48 else if (code.equals(INTERRUPTED_BY_SHUTDOWN.code)) 49 return INTERRUPTED_BY_SHUTDOWN; 50 else 51 throw new RuntimeException ("TaskState: unrecognized code: \"" + code + "\"."); 52 } 53 54 public static TaskState fromString(String name) { 55 if (name.equals(INITIALISING.name)) 56 return INITIALISING; 57 else if (name.equals(RUNNING.name)) 58 return RUNNING; 59 else if (name.equals(FINISHED.name)) 60 return FINISHED; 61 else if (name.equals(FINISHED_WITH_ERRORS.name)) 62 return FINISHED_WITH_ERRORS; 63 else if (name.equals(INTERRUPTED_BY_ERROR.name)) 64 return INTERRUPTED_BY_ERROR; 65 else if (name.equals(INTERRUPTED_BY_USER.name)) 66 return INTERRUPTED_BY_USER; 67 else if (name.equals(INTERRUPTED_BY_SHUTDOWN.name)) 68 return INTERRUPTED_BY_SHUTDOWN; 69 else 70 throw new RuntimeException ("TaskState: unrecognized name: \"" + name + "\"."); 71 } 72 73 public boolean isStoppedState() { 74 return (this == FINISHED || this == FINISHED_WITH_ERRORS || this == INTERRUPTED_BY_ERROR || this == INTERRUPTED_BY_USER || this == INTERRUPTED_BY_SHUTDOWN); 75 } 76 77 public static final TaskState INITIALISING = new TaskState("initialising", "I"); 78 public static final TaskState RUNNING = new TaskState("running", "R"); 79 public static final TaskState FINISHED = new TaskState("finished", "F"); 80 public static final TaskState FINISHED_WITH_ERRORS = new TaskState("finished_with_errors", "G"); 81 public static final TaskState INTERRUPTED_BY_ERROR = new TaskState("interrupted_by_error", "E"); 82 public static final TaskState INTERRUPTED_BY_USER = new TaskState("interrupted_by_user", "U"); 83 public static final TaskState INTERRUPTED_BY_SHUTDOWN = new TaskState("interrupted_by_shutdown", "S"); 84 } 85 | Popular Tags |