01 package dk.deepthought.sidious.supportsystem;
02
03 import java.util.Collection;
04
05 import dk.deepthought.sidious.planner.Plan;
06 import dk.deepthought.sidious.rules.Rule;
07
08 /**
09 * Classes implementing this interface are allowed to request plans.
10 *
11 * @author Deepthought
12 *
13 */
14 public interface PlanRequester {
15
16 /**
17 * Returns the adjustables associated with this plan requester.
18 *
19 * @return all adjustables associated with this
20 */
21 public Collection<Adjustable> getAdjustables();
22
23 /**
24 * Returns the rules associated with this plan requester.
25 *
26 * @return all rules associated with this
27 */
28 public Collection<Rule> getRules();
29
30 /**
31 * Returns the current state of the system from the point of view of this
32 * plan requester.
33 *
34 * @return current state
35 */
36 public State getState();
37
38 /**
39 * Returns the id of this plan requester.
40 *
41 * @return the id
42 */
43 public SuperLinkID getID();
44
45 /**
46 * Sets the plan on this requester.
47 *
48 * @param plan
49 * the plan
50 */
51 public void setPlan(Plan plan);
52
53 }
|