/** * Create the node memory. * @param state The state. * @return The node memory. */ public Object createNodeMemory(IOAVState state) { return new CollectMemory(); }
Tuple resulttuple = nodemem.getWorkingTuple(indextuple); nodemem.removeWorkingTuple(indextuple); if(nodemem.resultMemoryContains(resulttuple)) nodemem.removeResultTuple(resulttuple); propagateRemovalToTupleConsumers(resulttuple, state, mem, agenda); if(!nodemem.resultMemoryContains(resulttuple)) nodemem.addResultTuple(resulttuple); propagateAdditionToTupleConsumers(resulttuple, state, mem, agenda); if(nodemem.resultMemoryContains(resulttuple)) nodemem.removeResultTuple(resulttuple); propagateRemovalToTupleConsumers(resulttuple, state, mem, agenda);
/** * Get the memory for this node. * @return The memory. */ public Collection getNodeMemory(ReteMemory mem) { return mem.hasNodeMemory(this) ? ((CollectMemory)mem.getNodeMemory(this)).getResultMemory() : null; }
Tuple resulttuple = nodemem.getWorkingTuple(indextuple); nodemem.removeWorkingTuple(indextuple); if(nodemem.resultMemoryContains(resulttuple)) nodemem.removeResultTuple(resulttuple); propagateRemovalToTupleConsumers(resulttuple, state, mem, agenda); if(!nodemem.resultMemoryContains(resulttuple)) nodemem.addResultTuple(resulttuple); propagateAdditionToTupleConsumers(resulttuple, state, mem, agenda); if(nodemem.resultMemoryContains(resulttuple)) nodemem.removeResultTuple(resulttuple); propagateRemovalToTupleConsumers(resulttuple, state, mem, agenda);
/** * Get the memory for this node. * @return The memory. */ public Collection getNodeMemory(ReteMemory mem) { return mem.hasNodeMemory(this) ? ((CollectMemory)mem.getNodeMemory(this)).getResultMemory() : null; }
CollectMemory nodemem = (CollectMemory)mem.getNodeMemory(this); Tuple resulttuple = nodemem.getWorkingTuple(indextuple); nodemem.putWorkingTuple(indextuple, resulttuple); if(!nodemem.resultMemoryContains(resulttuple)) nodemem.addResultTuple(resulttuple); propagateAdditionToTupleConsumers(resulttuple, state, mem, agenda); if(nodemem.resultMemoryContains(resulttuple)) nodemem.removeResultTuple(resulttuple); propagateRemovalToTupleConsumers(resulttuple, state, mem, agenda);
/** * Create the node memory. * @param state The state. * @return The node memory. */ public Object createNodeMemory(IOAVState state) { return new CollectMemory(); }
CollectMemory nodemem = (CollectMemory)mem.getNodeMemory(this); Tuple resulttuple = nodemem.getWorkingTuple(indextuple); nodemem.putWorkingTuple(indextuple, resulttuple); if(!nodemem.resultMemoryContains(resulttuple)) nodemem.addResultTuple(resulttuple); propagateAdditionToTupleConsumers(resulttuple, state, mem, agenda); if(nodemem.resultMemoryContains(resulttuple)) nodemem.removeResultTuple(resulttuple); propagateRemovalToTupleConsumers(resulttuple, state, mem, agenda);
Tuple resulttuple = nodemem.getWorkingTuple(indextuple); assert resulttuple!=null: "No working tuple found: "+indextuple; boolean contains = nodemem.resultMemoryContains(resulttuple); boolean check = checkConstraints(resulttuple, state); nodemem.removeResultTuple(resulttuple); propagateRemovalToTupleConsumers(resulttuple, state, mem, agenda); nodemem.addResultTuple(resulttuple); propagateAdditionToTupleConsumers(resulttuple, state, mem, agenda); boolean contains = nodemem.resultMemoryContains(resulttuple); if(contains)
Tuple resulttuple = nodemem.getWorkingTuple(indextuple); assert resulttuple!=null: "No working tuple found: "+indextuple; boolean contains = nodemem.resultMemoryContains(resulttuple); boolean check = checkConstraints(resulttuple, state); nodemem.removeResultTuple(resulttuple); propagateRemovalToTupleConsumers(resulttuple, state, mem, agenda); nodemem.addResultTuple(resulttuple); propagateAdditionToTupleConsumers(resulttuple, state, mem, agenda); boolean contains = nodemem.resultMemoryContains(resulttuple); if(contains)