public class NotNode extends AbstractBetaNode
evaluators, indexers, indirects, osource, relevants, tconsumers, tsource
clones, nodeid
Constructor and Description |
---|
NotNode(int nodeid,
IConstraintEvaluator[] evaluators,
ConstraintIndexer[] indexers)
Create a new not node.
|
Modifier and Type | Method and Description |
---|---|
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.
|
void |
addTuple(Tuple left,
IOAVState state,
ReteMemory mem,
AbstractAgenda agenda)
Send a tuple to this node.
|
java.lang.Object |
createNodeMemory(IOAVState state)
Create the node memory.
|
protected boolean |
isMatchContained(IOAVState state,
Tuple left,
java.lang.Object right,
ReteMemory mem)
Check if a match is contained.
|
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.
|
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.
|
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.
|
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.
|
void |
removeTuple(Tuple left,
IOAVState state,
ReteMemory mem,
AbstractAgenda agenda)
Remove a tuple from this node.
|
addObject, addTupleConsumer, checkNonindexedConstraints, doClone, fetchObjectMemory, fetchTupleMemory, getConstraintEvaluators, getConstraintIndexers, getIndirectAttributes, getNodeMemory, getObjectSource, getRelevantAttributes, getTupleConsumers, getTupleSource, identityIntersection, intersection, isAffected, modifyObject, removeObject, removeTupleConsumer, setObjectSource, setTupleSource
checkNodeConsistency, clone, equals, getNodeId, hashCode, toString, toString
finalize, getClass, notify, notifyAll, wait, wait, wait
checkNodeConsistency, clone, getNodeId
public NotNode(int nodeid, IConstraintEvaluator[] evaluators, ConstraintIndexer[] indexers)
public void addTuple(Tuple left, IOAVState state, ReteMemory mem, AbstractAgenda agenda)
addTuple
in interface ITupleConsumerNode
addTuple
in class AbstractBetaNode
tuple
- The tuple.public void removeTuple(Tuple left, IOAVState state, ReteMemory mem, AbstractAgenda agenda)
removeTuple
in interface ITupleConsumerNode
removeTuple
in class AbstractBetaNode
tuple
- The tuple.public void modifyTuple(Tuple left, int tupleindex, OAVAttributeType type, java.lang.Object oldvalue, java.lang.Object newvalue, IOAVState state, ReteMemory mem, AbstractAgenda agenda)
modifyTuple
in interface ITupleConsumerNode
modifyTuple
in class AbstractBetaNode
left
- The tuple.public void modifyIndirectObject(java.lang.Object object, OAVAttributeType type, java.lang.Object oldvalue, java.lang.Object newvalue, IOAVState state, ReteMemory mem, AbstractAgenda agenda)
modifyIndirectObject
in interface INode
modifyIndirectObject
in class AbstractBetaNode
object
- The changed object.protected void addMatch(Tuple left, java.lang.Object right, IOAVState state, ReteMemory mem, AbstractAgenda agenda)
addMatch
in class AbstractBetaNode
protected void removeMatch(Tuple left, java.lang.Object right, IOAVState state, ReteMemory mem, AbstractAgenda agenda)
removeMatch
in class AbstractBetaNode
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)
propagateModification
in class AbstractBetaNode
protected boolean isMatchContained(IOAVState state, Tuple left, java.lang.Object right, ReteMemory mem)
isMatchContained
in class AbstractBetaNode
public java.lang.Object createNodeMemory(IOAVState state)
createNodeMemory
in interface INode
createNodeMemory
in class AbstractBetaNode
state
- The state.