KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > oddjob > jobs > job > ResetJob


1 package org.oddjob.jobs.job;
2
3 import org.oddjob.Resetable;
4 import org.oddjob.framework.SimpleJob;
5
6 /**
7  * @oddjob.description A job which resets another job.
8  *
9  * @author Rob Gordon
10  */

11
12 public class ResetJob extends SimpleJob {
13     private static final long serialVersionUID = 20050806;
14
15     /**
16      * @oddjob.property
17      * @oddjob.description Job to reset.
18      * @oddjob.required Yes.
19      */

20     private transient Resetable job;
21
22     /**
23      * @oddjob.property
24      * @oddjob.description The reset level, hard or soft
25      * @oddjob.required No, defaults to soft.
26      */

27     private transient String JavaDoc level;
28     
29     /**
30      * Set the stop node directly.
31      *
32      * @param node The node to stop.
33      */

34     synchronized public void setJob(Resetable node) {
35         if (node == null ) {
36             throw new NullPointerException JavaDoc("Job to Reset must not be null.");
37         }
38         this.job = node;
39     }
40
41     /**
42      * Get the node to stop.
43      *
44      * @return The node.
45      */

46     synchronized public Resetable getJob() {
47         return this.job;
48     }
49
50     /*
51      * (non-Javadoc)
52      * @see org.oddjob.jobs.AbstractJob#execute()
53      */

54     protected int execute() throws Exception JavaDoc {
55         if (getLevel().equals("soft")) {
56             ((Resetable)job).softReset();
57         }
58         else {
59             ((Resetable)job).hardReset();
60         }
61         return 0;
62     }
63     
64     /**
65      * @return Returns the level.
66      */

67     public String JavaDoc getLevel() {
68         if (level == null) {
69             level = "soft";
70         }
71         return level;
72     }
73     
74     /**
75      * @param level The level to set.
76      */

77     public void setLevel(String JavaDoc level) {
78         level = level.toLowerCase();
79         if (!"hard".equals(level) && !"soft".equals(level)) {
80             throw new IllegalArgumentException JavaDoc("Level must be hard or soft.");
81         }
82         this.level = level;
83     }
84 }
85
Popular Tags