KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > oddjob > webapp > model > WebJobActions


1 /*
2  * (c) Rob Gordon 2005
3  */

4 package org.oddjob.webapp.model;
5
6 import java.util.Collection JavaDoc;
7 import java.util.Iterator JavaDoc;
8 import java.util.LinkedHashMap JavaDoc;
9 import java.util.Map JavaDoc;
10
11 import org.oddjob.monitor.action.ExecuteAction;
12 import org.oddjob.monitor.action.HardResetAction;
13 import org.oddjob.monitor.action.SoftResetAction;
14 import org.oddjob.monitor.action.StopAction;
15 import org.oddjob.monitor.model.ExplorerContext;
16 import org.oddjob.monitor.model.JobAction;
17 import org.oddjob.monitor.model.JobOption;
18
19 /**
20  * Collect together actions.
21  *
22  * @author Rob Gordon.
23  */

24 public class WebJobActions {
25
26     private final Map JavaDoc options = new LinkedHashMap JavaDoc();
27     
28     public WebJobActions() {
29         // maybe this will be configurable one day.
30
add(new ExecuteAction());
31         add(new StopAction());
32         add(new SoftResetAction());
33         add(new HardResetAction());
34     }
35     
36     void add(JobOption option) {
37         options.put(option.getName(), option);
38     }
39     
40     public void select(Object JavaDoc component, ExplorerContext explorerContext) {
41         for (Iterator JavaDoc it = options.entrySet().iterator(); it.hasNext(); ) {
42             Map.Entry JavaDoc entry = (Map.Entry JavaDoc) it.next();
43             JobOption option = (JobOption) entry.getValue();
44             option.optionSelect(component, explorerContext);
45         }
46     }
47     
48     public Collection JavaDoc commands() {
49         return options.keySet();
50     }
51     
52     public boolean isEnabled(String JavaDoc command) {
53         JobOption option = (JobOption) options.get(command);
54         return option.enabled();
55     }
56     
57     public void action(String JavaDoc command) throws Exception JavaDoc {
58         JobOption option = (JobOption) options.get(command);
59         if (option instanceof JobAction) {
60             ((JobAction) option).action();
61         } else {
62             // can't do menus yet
63
throw new UnsupportedOperationException JavaDoc("Can't do menus yet.");
64         }
65     }
66 }
67
Popular Tags