KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > oddjob > schedules > AbstractSchedule


1 package org.oddjob.schedules;
2
3 import java.io.Serializable JavaDoc;
4
5
6
7 /**
8  * Proved a basis of common functionality for schedules.
9  *
10  * @author Rob Gordon
11  */

12
13
14 abstract public class AbstractSchedule
15         implements Serializable JavaDoc, RefineableSchedule {
16
17     private static final long serialVersionUID = 20050226;
18     
19     /** A child schedule */
20     private Schedule childSchedule;
21
22     /** limits which bound the schedule */
23     private Interval limits;
24
25     /*
26      * (non-Javadoc)
27      * @see org.treesched.Schedule#setLimits(org.treesched.Interval)
28      */

29     public void setLimits(Interval limits) {
30         this.limits = limits;
31     }
32     
33     /**
34      * Get any limits set for this schedule.
35      *
36      * @return The limits, may be null.
37      */

38     public Interval getLimits() {
39         return limits;
40     }
41     
42     /**
43      * Set the child schedule.
44      *
45      * @param schedule The child schedule.
46      */

47     public void setChildSchedule(Schedule schedule) {
48         this.childSchedule = schedule;
49     }
50     
51     /*
52      * (non-Javadoc)
53      * @see org.treesched.RefineableSchedule#addChildSchedule(org.treesched.Schedule)
54      */

55     public void addValueSchedule(Schedule schedule) {
56         if (childSchedule == null) {
57             childSchedule = new ScheduleList();
58         }
59         else if (!(childSchedule instanceof ScheduleList)) {
60             throw new IllegalStateException JavaDoc("Child schedule of " + childSchedule
61                 + " already exists for " + this);
62         }
63         ((ScheduleList) childSchedule).addValueSchedule(schedule);
64     }
65     
66     /**
67      * Return the child schedule.
68      *
69      * @return The child schedule.
70      */

71     public Schedule getChildSchedule() {
72         return childSchedule;
73     }
74
75 }
76
Popular Tags