public class ExistenceNode extends DualInputNode
It is mandatory in differential dataflow evaluation that the secondary parent is in an upstream dependency component (so that every secondary tuple comes with zero timestamp).
DualInputNode.NetworkStructureChangeSensitiveLogic, DualInputNode.Side
Modifier and Type | Field and Description |
---|---|
protected boolean |
negative |
coincidence, complementerSecondaryMask, indexerGroupCache, logic, primarySlot, secondarySlot
childMailboxes, children
nodeId, reteContainer, tag, traceInfos
Constructor and Description |
---|
ExistenceNode(ReteContainer reteContainer,
boolean negative) |
Modifier and Type | Method and Description |
---|---|
Tuple |
calibrate(Tuple primary,
Tuple secondary)
Simulates the behavior of the node for calibration purposes only.
|
protected DualInputNode.NetworkStructureChangeSensitiveLogic |
createTimelessLogic() |
protected DualInputNode.NetworkStructureChangeSensitiveLogic |
createTimelyLogic() |
void |
networkStructureChanged()
At the time of the invocation, the dependency graph has already been updated.
|
assignTraceInfo, connectToIndexers, createLogic, getPrimarySlot, getSecondarySlot, getSlot, getWithTimestamp, pullInto, pullIntoWithTimestamp, refreshIndexerGroupCache, retrieveOpposites, setComplementerSecondaryMask, unify, unify
appendChild, constructIndex, getChildMailboxes, getPulledContents, getReceivers, issueError, propagateUpdate, removeChild
acceptPropagatedTraceInfo, getContainer, getNodeId, getTag, getTraceInfoPatternsEnumerated, getTraceInfos, setTag, toString, toStringCore
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
acceptPropagatedTraceInfo, getCommunicationTracker, getContainer, getNodeId, getTag, getTraceInfos, setTag
getPulledContents
public ExistenceNode(ReteContainer reteContainer, boolean negative)
reteContainer
- negative
- if false, act as existence checker, otherwise a nonexistence-checkerpublic Tuple calibrate(Tuple primary, Tuple secondary)
DualInputNode
calibrate
in class DualInputNode
public void networkStructureChanged()
NetworkStructureChangeSensitiveNode
networkStructureChanged
in interface NetworkStructureChangeSensitiveNode
networkStructureChanged
in class DualInputNode
protected DualInputNode.NetworkStructureChangeSensitiveLogic createTimelessLogic()
createTimelessLogic
in class DualInputNode
protected DualInputNode.NetworkStructureChangeSensitiveLogic createTimelyLogic()
createTimelyLogic
in class DualInputNode