1 | package dk.deepthought.sidious.supportsystem; |
2 | |
3 | import dk.deepthought.sidious.blackboard.BlackBoard; |
4 | import dk.deepthought.sidious.blackboard.BlackBoardEngine; |
5 | import dk.deepthought.sidious.goalhandler.GoalHandler; |
6 | import dk.deepthought.sidious.goalhandler.GoalHandlerEngine; |
7 | import dk.deepthought.sidious.planner.Planner; |
8 | import dk.deepthought.sidious.planner.PlannerEngine; |
9 | import dk.deepthought.sidious.ruleengine.RuleEngine; |
10 | import dk.deepthought.sidious.ruleengine.RuleEngineImpl; |
11 | |
12 | /** |
13 | * This class acts as a factory for the major modules of the system. |
14 | * |
15 | * @author Deepthought |
16 | * |
17 | */ |
18 | public class Repository { |
19 | |
20 | /** |
21 | * Planner instance. |
22 | */ |
23 | private static final Planner planner = PlannerEngine.getInstance(); |
24 | |
25 | /** |
26 | * Blackboard instance. |
27 | */ |
28 | private static final BlackBoard blackboard = BlackBoardEngine.getInstance(); |
29 | |
30 | /** |
31 | * Goal handler instance. |
32 | */ |
33 | private static final GoalHandler goalHandler = GoalHandlerEngine |
34 | .getInstance(); |
35 | |
36 | /** |
37 | * Rule engine instance. |
38 | */ |
39 | private static final RuleEngine ruleEngine = new RuleEngineImpl(); |
40 | |
41 | /** |
42 | * Private empty constructor to facilitate non instantiability. |
43 | */ |
44 | private Repository() { |
45 | } |
46 | |
47 | /** |
48 | * Gets the BlackBoard instance. |
49 | * |
50 | * @return the blackboard |
51 | */ |
52 | public static BlackBoard getBlackboard() { |
53 | return blackboard; |
54 | } |
55 | |
56 | /** |
57 | * Gets the GoalHandler instance. |
58 | * |
59 | * @return the goalHandler |
60 | */ |
61 | public static GoalHandler getGoalHandler() { |
62 | return goalHandler; |
63 | } |
64 | |
65 | /** |
66 | * Gets the Planner instance. |
67 | * |
68 | * @return the planner |
69 | */ |
70 | public static Planner getPlanner() { |
71 | return planner; |
72 | } |
73 | |
74 | /** |
75 | * Gets a RuleEngine instance. |
76 | * |
77 | * @return the ruleEngine |
78 | */ |
79 | public static RuleEngine getRuleEngine() { |
80 | return ruleEngine; |
81 | } |
82 | |
83 | |
84 | } |