Пример #1
0
  public final Object nextElement() {
    final Clause dbCurrentClause = (Clause) m_selProgramEnum.nextElement();

    // il riuso dello stesso oggetto Rule evita la creazione di nuovi
    // oggetti che pesano sul garbage collector
    m_rule.m_cons = (Clause) dbCurrentClause.copy(true);
    m_rule.m_dbCons = dbCurrentClause;

    // controlla se module_transaprent
    if (!m_bModuleTranparent) {
      m_rule.m_strModule = dbCurrentClause.getModuleName();
    }

    return m_rule;
  }
Пример #2
0
  public RulesEnumeration(
      final Functor query, final Stack<String> moduleStack, final GlobalDB gdb) {
    final JIPClausesDatabase db = gdb.search(query, moduleStack);
    if (db == null) throw new UndefinedPredicateException(query);

    m_selProgramEnum = db.clauses(query);
    m_bModuleTranparent = db.isModuleTransparent();
    m_rule = new PrologRule();
    m_rule.m_strModule = moduleStack.peek();
  }