Class ExistenceNode
java.lang.Object
tools.refinery.interpreter.rete.network.BaseNode
tools.refinery.interpreter.rete.network.StandardNode
tools.refinery.interpreter.rete.index.DualInputNode
tools.refinery.interpreter.rete.index.ExistenceNode
- All Implemented Interfaces:
NetworkStructureChangeSensitiveNode,Node,Supplier
Propagates all substitutions arriving at the PRIMARY slot if and only if (a matching substitution on the SECONDARY is
present) xor (NEGATIVE).
The negative parameter specifies whether this node checks for existence or non-existence.
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).
-
Nested Class Summary
Nested classes/interfaces inherited from class tools.refinery.interpreter.rete.index.DualInputNode
DualInputNode.NetworkStructureChangeSensitiveLogic, DualInputNode.Side -
Field Summary
FieldsFields inherited from class tools.refinery.interpreter.rete.index.DualInputNode
coincidence, complementerSecondaryMask, indexerGroupCache, logic, primarySlot, secondarySlotFields inherited from class tools.refinery.interpreter.rete.network.StandardNode
childMailboxes, childrenFields inherited from class tools.refinery.interpreter.rete.network.BaseNode
nodeId, reteContainer, tag, traceInfos -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionSimulates the behavior of the node for calibration purposes only.voidAt the time of the invocation, the dependency graph has already been updated.Methods inherited from class tools.refinery.interpreter.rete.index.DualInputNode
assignTraceInfo, connectToIndexers, createLogic, getPrimarySlot, getSecondarySlot, getSlot, getTimeline, pullInto, pullIntoWithTimeline, refreshIndexerGroupCache, retrieveOpposites, setComplementerSecondaryMask, unify, unifyMethods inherited from class tools.refinery.interpreter.rete.network.StandardNode
appendChild, constructIndex, getChildMailboxes, getPulledContents, getReceivers, issueError, propagateUpdate, removeChildMethods inherited from class tools.refinery.interpreter.rete.network.BaseNode
acceptPropagatedTraceInfo, getContainer, getNodeId, getTag, getTraceInfoPatternsEnumerated, getTraceInfos, setTag, toString, toStringCoreMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface tools.refinery.interpreter.rete.network.Node
acceptPropagatedTraceInfo, getCommunicationTracker, getContainer, getNodeId, getTag, getTraceInfos, setTagMethods inherited from interface tools.refinery.interpreter.rete.network.Supplier
getPulledContents
-
Field Details
-
negative
protected boolean negative
-
-
Constructor Details
-
ExistenceNode
- Parameters:
reteContainer-negative- if false, act as existence checker, otherwise a nonexistence-checker
-
-
Method Details
-
calibrate
Description copied from class:DualInputNodeSimulates the behavior of the node for calibration purposes only.- Specified by:
calibratein classDualInputNode
-
networkStructureChanged
public void networkStructureChanged()Description copied from interface:NetworkStructureChangeSensitiveNodeAt the time of the invocation, the dependency graph has already been updated.- Specified by:
networkStructureChangedin interfaceNetworkStructureChangeSensitiveNode- Overrides:
networkStructureChangedin classDualInputNode
-
createTimelessLogic
- Specified by:
createTimelessLogicin classDualInputNode
-
createTimelyLogic
- Specified by:
createTimelyLogicin classDualInputNode
-