public class BetaNode extends AbstractBetaNode
evaluators, indexers, indirects, osource, relevants, tconsumers, tsource
clones, 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, setTupleSource
clone, equals, getNodeId, hashCode, toString, toString
public 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 ITupleConsumerNode
modifyTuple
in class AbstractBetaNode
left
- 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 IObjectConsumerNode
modifyObject
in class AbstractBetaNode
right
- The new 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 boolean checkNodeConsistency(ReteMemory mem)
checkNodeConsistency
in interface INode
checkNodeConsistency
in class AbstractNode