public Object next() { Activation acc = null; if (this.currentLeftTuple != null) { acc = (Activation) currentLeftTuple.getObject(); this.currentLeftTuple = (LeftTuple) leftTupleIter.next(); while (currentLeftTuple == null && (node = (TerminalNode) nodeIter.next()) != null) { if (!(node instanceof RuleTerminalNode)) { continue; } leftTupleIter = LeftTupleIterator.iterator(wm, node); this.currentLeftTuple = (LeftTuple) leftTupleIter.next(); } } return acc; }
private ActivationIterator(InternalWorkingMemory wm, KnowledgeBase kbase) { this.wm = wm; nodeIter = TerminalNodeIterator.iterator(kbase); // Find the first node with Activations an set it. while (currentLeftTuple == null && (node = (TerminalNode) nodeIter.next()) != null) { if (!(node instanceof RuleTerminalNode)) { continue; } leftTupleIter = LeftTupleIterator.iterator(wm, node); this.currentLeftTuple = (LeftTuple) leftTupleIter.next(); } }