KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > outerj > daisy > doctaskrunner > TaskState


1 /*
2  * Copyright 2004 Outerthought bvba and Schaubroeck nv
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16 package org.outerj.daisy.doctaskrunner;
17
18 public class TaskState {
19     private final String JavaDoc name;
20     private final String JavaDoc code;
21
22     private TaskState(String JavaDoc name, String JavaDoc code) {
23         this.name = name;
24         this.code = code;
25     }
26
27     public String JavaDoc toString() {
28         return name;
29     }
30
31     public String JavaDoc getCode() {
32         return code;
33     }
34
35     public static TaskState getByCode(String JavaDoc 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 JavaDoc("TaskState: unrecognized code: \"" + code + "\".");
52     }
53
54     public static TaskState fromString(String JavaDoc 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 JavaDoc("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