Class NotNode
- java.lang.Object
-
- jadex.rules.rulesystem.rete.nodes.AbstractNode
-
- jadex.rules.rulesystem.rete.nodes.AbstractBetaNode
-
- jadex.rules.rulesystem.rete.nodes.NotNode
-
- All Implemented Interfaces:
INode,IObjectConsumerNode,ITupleConsumerNode,ITupleSourceNode,java.lang.Cloneable
public class NotNode extends AbstractBetaNode
A not node lets tuples (from left side) pass, when there is no match from the right side.
-
-
Field Summary
-
Fields inherited from class jadex.rules.rulesystem.rete.nodes.AbstractBetaNode
evaluators, indexers, indirects, osource, relevants, tconsumers, tsource
-
Fields inherited from class jadex.rules.rulesystem.rete.nodes.AbstractNode
clones, nodeid
-
-
Constructor Summary
Constructors Constructor Description NotNode(int nodeid, IConstraintEvaluator[] evaluators, ConstraintIndexer[] indexers)Create a new not node.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddMatch(Tuple left, java.lang.Object right, IOAVState state, ReteMemory mem, AbstractAgenda agenda)Add a match to the node memory and propagate if necessary.voidaddTuple(Tuple left, IOAVState state, ReteMemory mem, AbstractAgenda agenda)Send a tuple to this node.java.lang.ObjectcreateNodeMemory(IOAVState state)Create the node memory.protected booleanisMatchContained(IOAVState state, Tuple left, java.lang.Object right, ReteMemory mem)Check if a match is contained.voidmodifyIndirectObject(java.lang.Object object, OAVAttributeType type, java.lang.Object oldvalue, java.lang.Object newvalue, IOAVState state, ReteMemory mem, AbstractAgenda agenda)Propagate an indirect object change to this node.voidmodifyTuple(Tuple left, int tupleindex, OAVAttributeType type, java.lang.Object oldvalue, java.lang.Object newvalue, IOAVState state, ReteMemory mem, AbstractAgenda agenda)Modify a tuple in this node.protected voidpropagateModification(Tuple left, java.lang.Object right, int tupleindex, OAVAttributeType type, java.lang.Object oldvalue, java.lang.Object newvalue, IOAVState state, ReteMemory mem, AbstractAgenda agenda)Propagate a change of a tuple in the result memory.protected voidremoveMatch(Tuple left, java.lang.Object right, IOAVState state, ReteMemory mem, AbstractAgenda agenda)Remove a match from the node memory and propagate if necessary.voidremoveTuple(Tuple left, IOAVState state, ReteMemory mem, AbstractAgenda agenda)Remove a tuple from this node.-
Methods inherited from class jadex.rules.rulesystem.rete.nodes.AbstractBetaNode
addObject, addTupleConsumer, checkNonindexedConstraints, doClone, fetchObjectMemory, fetchTupleMemory, getConstraintEvaluators, getConstraintIndexers, getIndirectAttributes, getNodeMemory, getObjectSource, getRelevantAttributes, getTupleConsumers, getTupleSource, identityIntersection, intersection, isAffected, modifyObject, removeObject, removeTupleConsumer, setObjectSource, setTupleSource
-
Methods inherited from class jadex.rules.rulesystem.rete.nodes.AbstractNode
checkNodeConsistency, clone, equals, getNodeId, hashCode, toString, toString
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface jadex.rules.rulesystem.rete.nodes.INode
checkNodeConsistency, clone, getNodeId
-
-
-
-
Constructor Detail
-
NotNode
public NotNode(int nodeid, IConstraintEvaluator[] evaluators, ConstraintIndexer[] indexers)Create a new not node.
-
-
Method Detail
-
addTuple
public void addTuple(Tuple left, IOAVState state, ReteMemory mem, AbstractAgenda agenda)
Send a tuple to this node.- Specified by:
addTuplein interfaceITupleConsumerNode- Overrides:
addTuplein classAbstractBetaNode- Parameters:
tuple- The tuple.
-
removeTuple
public void removeTuple(Tuple left, IOAVState state, ReteMemory mem, AbstractAgenda agenda)
Remove a tuple from this node.- Specified by:
removeTuplein interfaceITupleConsumerNode- Overrides:
removeTuplein classAbstractBetaNode- Parameters:
tuple- The tuple.
-
modifyTuple
public void modifyTuple(Tuple left, int tupleindex, OAVAttributeType type, java.lang.Object oldvalue, java.lang.Object newvalue, IOAVState state, ReteMemory mem, AbstractAgenda agenda)
Modify a tuple in this node.- Specified by:
modifyTuplein interfaceITupleConsumerNode- Overrides:
modifyTuplein classAbstractBetaNode- Parameters:
left- The tuple.
-
modifyIndirectObject
public void modifyIndirectObject(java.lang.Object object, OAVAttributeType type, java.lang.Object oldvalue, java.lang.Object newvalue, IOAVState state, ReteMemory mem, AbstractAgenda agenda)Propagate an indirect object change to this node.- Specified by:
modifyIndirectObjectin interfaceINode- Overrides:
modifyIndirectObjectin classAbstractBetaNode- Parameters:
object- The changed object.
-
addMatch
protected void addMatch(Tuple left, java.lang.Object right, IOAVState state, ReteMemory mem, AbstractAgenda agenda)
Add a match to the node memory and propagate if necessary.- Specified by:
addMatchin classAbstractBetaNode
-
removeMatch
protected void removeMatch(Tuple left, java.lang.Object right, IOAVState state, ReteMemory mem, AbstractAgenda agenda)
Remove a match from the node memory and propagate if necessary.- Specified by:
removeMatchin classAbstractBetaNode
-
propagateModification
protected void propagateModification(Tuple left, java.lang.Object right, int tupleindex, OAVAttributeType type, java.lang.Object oldvalue, java.lang.Object newvalue, IOAVState state, ReteMemory mem, AbstractAgenda agenda)
Propagate a change of a tuple in the result memory.- Specified by:
propagateModificationin classAbstractBetaNode
-
isMatchContained
protected boolean isMatchContained(IOAVState state, Tuple left, java.lang.Object right, ReteMemory mem)
Check if a match is contained.- Specified by:
isMatchContainedin classAbstractBetaNode
-
createNodeMemory
public java.lang.Object createNodeMemory(IOAVState state)
Create the node memory.- Specified by:
createNodeMemoryin interfaceINode- Overrides:
createNodeMemoryin classAbstractBetaNode- Parameters:
state- The state.- Returns:
- The node memory.
-
-