source: trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/manager/ComponentManager.java @ 1109

Last change on this file since 1109 was 1109, checked in by pharms, 11 years ago
  • changed rules to be testable on their own
  • added first version for a task detection rule
  • refactored rules to have a simpler interface
  • Property svn:executable set to *
File size: 2.4 KB
RevLine 
[922]1package de.ugoe.cs.autoquest.tasktrees.manager;
[439]2
[922]3import de.ugoe.cs.autoquest.tasktrees.nodeequality.NodeEqualityRuleManager;
4import de.ugoe.cs.autoquest.tasktrees.temporalrelation.TemporalRelationshipRuleManager;
5import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTreeBuilder;
6import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTreeNodeFactory;
7import de.ugoe.cs.autoquest.tasktrees.treeimpl.TaskTreeBuilder;
8import de.ugoe.cs.autoquest.tasktrees.treeimpl.TaskTreeNodeFactory;
[439]9
10/**
11 * TODO comment
12 *
13 * @version $Revision: $ $Date: 12.02.2012$
14 * @author 2012, last modified by $Author: patrick$
15 */
[557]16public class ComponentManager {
17   
18    /** */
19    private static ComponentManager instance;
[439]20
[557]21    /** */
22    private TemporalRelationshipRuleManager temporalRelationshipRuleManager;
[439]23
[557]24    /** */
25    private NodeEqualityRuleManager nodeEqualityRuleManager;
[439]26
[557]27    /** */
28    private ITaskTreeBuilder taskTreeBuilder;
[439]29
[557]30    /** */
31    private ITaskTreeNodeFactory taskTreeNodeFactory;
[439]32
[557]33    /**
[1099]34     *
[557]35     */
36    public static TemporalRelationshipRuleManager getTemporalRelationshipRuleManager() {
37        return getInstance().temporalRelationshipRuleManager;
38    }
[439]39
[557]40    /**
[1099]41     *
[557]42     */
43    public static NodeEqualityRuleManager getNodeEqualityRuleManager() {
44        return getInstance().nodeEqualityRuleManager;
45    }
[439]46
[557]47    /**
[1099]48     *
[557]49     */
50    public static ITaskTreeBuilder getDefaultTaskTreeBuilder() {
51        return getInstance().taskTreeBuilder;
52    }
[439]53
[557]54    /**
[1099]55     *
[557]56     */
57    public static ITaskTreeNodeFactory getDefaultTaskTreeNodeFactory() {
58        return getInstance().taskTreeNodeFactory;
59    }
[439]60
[557]61    /**
62     *
63     */
64    public static synchronized void clearInstance() {
65        instance = null;
[439]66    }
67
[557]68    /**
[1099]69     *
[557]70     */
71    private static synchronized ComponentManager getInstance() {
72        if (instance == null) {
73            instance = new ComponentManager();
74            instance.init();
75        }
76        return instance;
77    }
[439]78
[557]79    /**
80     *
81     */
82    private void init() {
83        nodeEqualityRuleManager = new NodeEqualityRuleManager();
84        nodeEqualityRuleManager.init();
[439]85
[557]86        taskTreeBuilder = new TaskTreeBuilder();
87        taskTreeNodeFactory = new TaskTreeNodeFactory();
[1109]88
89        temporalRelationshipRuleManager = new TemporalRelationshipRuleManager
90            (nodeEqualityRuleManager, taskTreeNodeFactory, taskTreeBuilder);
91        temporalRelationshipRuleManager.init();
[557]92    }
93
[439]94}
Note: See TracBrowser for help on using the repository browser.