コード例 #1
0
  /**
   * It creates a CPviz trace generator around proper select choice point object.
   *
   * @param search it specifies search method used for depth-first-search.
   * @param select it specifies how the select choice points are being generated.
   * @param vars it specifies variables which are being traced.
   * @param treeFilename it specifies the file name for search tree trace (default tree.xml).
   * @param visFilename it specifies the file name for variable trace (default vis.xml).
   */
  public TraceGenerator(
      Search<T> search,
      SelectChoicePoint<T> select,
      Var[] vars,
      String treeFilename,
      String visFilename) {

    this(select, vars, treeFilename, visFilename);

    if (search.getConsistencyListener() == null) {
      search.setConsistencyListener(this);
    } else {
      ConsistencyListener current = search.getConsistencyListener();
      search.setConsistencyListener(this);
      setChildrenListeners(current);
    }

    if (search.getExitChildListener() == null) {
      search.setExitChildListener(this);
    } else {
      ExitChildListener<T> current = search.getExitChildListener();
      search.setExitChildListener(this);
      setChildrenListeners(current);
    }

    if (search.getExitListener() == null) {
      search.setExitListener(this);
    } else {
      ExitListener current = search.getExitListener();
      search.setExitListener(this);
      setChildrenListeners(current);
    }
  }