コード例 #1
0
  /** initializes engine components */
  private synchronized void initEngine() {

    this.disconnectables = new LinkedList<Disconnectable>();
    // this.caughtExceptions = new LinkedBlockingQueue<Throwable>();

    this.reteNet = new Network(reteThreads, context);
    this.boundary = new ReteBoundary<PatternDescription>(this); // prerequisite: network

    this.matchers = new HashMap<PatternDescription, RetePatternMatcher>();
    /* this.matchersScoped = new HashMap<PatternDescription, Map<Map<Integer,Scope>,RetePatternMatcher>>(); */

    // prerequisite: network, framework, boundary, disconnectables
    this.manipulationListener = context.subscribePatternMatcherForUpdates(this);
    // prerequisite: boundary, disconnectables
    this.traceListener = context.subscribePatternMatcherForTraceInfluences(this);
  }