public class BetaNode extends AbstractBetaNode
evaluators, indexers, indirects, osource, relevants, tconsumers, tsourceclones, nodeid| Constructor and Description |
|---|
BetaNode(int nodeid,
IConstraintEvaluator[] evaluators,
ConstraintIndexer[] xevaluators)
Create a new beta 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.
|
boolean |
checkNodeConsistency(ReteMemory mem)
Check the consistency of the node.
|
protected boolean |
isMatchContained(IOAVState state,
Tuple left,
java.lang.Object right,
ReteMemory mem)
Check if a match is contained.
|
void |
modifyObject(java.lang.Object right,
OAVAttributeType type,
java.lang.Object oldvalue,
java.lang.Object newvalue,
IOAVState state,
ReteMemory mem,
AbstractAgenda agenda)
Propagate an 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.
|
addObject, addTuple, addTupleConsumer, checkNonindexedConstraints, createNodeMemory, doClone, fetchObjectMemory, fetchTupleMemory, getConstraintEvaluators, getConstraintIndexers, getIndirectAttributes, getNodeMemory, getObjectSource, getRelevantAttributes, getTupleConsumers, getTupleSource, identityIntersection, intersection, isAffected, modifyIndirectObject, removeObject, removeTuple, removeTupleConsumer, setObjectSource, setTupleSourceclone, equals, getNodeId, hashCode, toString, toStringpublic BetaNode(int nodeid,
IConstraintEvaluator[] evaluators,
ConstraintIndexer[] xevaluators)
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 ITupleConsumerNodemodifyTuple in class AbstractBetaNodeleft - The tuple.public void modifyObject(java.lang.Object right,
OAVAttributeType type,
java.lang.Object oldvalue,
java.lang.Object newvalue,
IOAVState state,
ReteMemory mem,
AbstractAgenda agenda)
modifyObject in interface IObjectConsumerNodemodifyObject in class AbstractBetaNoderight - The new object.protected void addMatch(Tuple left, java.lang.Object right, IOAVState state, ReteMemory mem, AbstractAgenda agenda)
addMatch in class AbstractBetaNodeprotected void removeMatch(Tuple left, java.lang.Object right, IOAVState state, ReteMemory mem, AbstractAgenda agenda)
removeMatch in class AbstractBetaNodeprotected 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 AbstractBetaNodeprotected boolean isMatchContained(IOAVState state, Tuple left, java.lang.Object right, ReteMemory mem)
isMatchContained in class AbstractBetaNodepublic boolean checkNodeConsistency(ReteMemory mem)
checkNodeConsistency in interface INodecheckNodeConsistency in class AbstractNode