public class TransitiveClosureNode extends SingleInputNode implements Clearable, ITcObserver<java.lang.Object>, NetworkStructureChangeSensitiveNode
This node must not be used in recursive CommunicationGroups.
mailbox, parentchildMailboxes, childrennodeId, reteContainer, tag, traceInfos| Constructor and Description |
|---|
TransitiveClosureNode(ReteContainer reteContainer)
Create a new transitive closure rete node.
|
| Modifier and Type | Method and Description |
|---|---|
void |
clear()
Clear all partial matchings stored in memory
|
void |
networkStructureChanged()
At the time of the invocation, the dependency graph has already been updated.
|
void |
pullInto(java.util.Collection<Tuple> collector,
boolean flush)
Pulls the contents of this object in this particular moment into a target collection.
|
void |
pullIntoWithTimeline(java.util.Map<Tuple,Timeline<Timestamp>> collector,
boolean flush) |
void |
reinitializeWith(java.util.Collection<Tuple> tuples)
Initializes the graph data source with the given collection of tuples.
|
void |
tupleDeleted(java.lang.Object source,
java.lang.Object target)
Used to notify when a tuple is deleted from the transitive closure relation.
|
void |
tupleInserted(java.lang.Object source,
java.lang.Object target)
Used to notify when a tuple is inserted into the transitive closure relation.
|
void |
update(Direction direction,
Tuple updateElement,
Timestamp timestamp)
Updates the receiver with a newly found or lost partial matching.
|
appendParent, assignTraceInfo, getCommunicationTracker, getMailbox, getParents, instantiateMailbox, propagatePullInto, propagatePullIntoWithTimestamp, removeParentappendChild, constructIndex, getChildMailboxes, getPulledContents, getReceivers, issueError, propagateUpdate, removeChildacceptPropagatedTraceInfo, getContainer, getNodeId, getTag, getTraceInfoPatternsEnumerated, getTraceInfos, setTag, toString, toStringCoreclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitacceptPropagatedTraceInfo, assignTraceInfo, getCommunicationTracker, getContainer, getNodeId, getTag, getTraceInfos, setTagappendChild, constructIndex, getPulledContents, getPulledContents, getReceivers, removeChildbatchUpdatepublic TransitiveClosureNode(ReteContainer reteContainer)
reinitializeWith(Collection) before using the node, instead of inserting the
initial set of tuples one by one.reteContainer - the rete container of the nodepublic void networkStructureChanged()
NetworkStructureChangeSensitiveNodenetworkStructureChanged in interface NetworkStructureChangeSensitiveNodenetworkStructureChanged in class StandardNodepublic void reinitializeWith(java.util.Collection<Tuple> tuples)
tuples - the initial collection of tuplespublic void pullInto(java.util.Collection<Tuple> collector, boolean flush)
Supplierpublic void pullIntoWithTimeline(java.util.Map<Tuple,Timeline<Timestamp>> collector, boolean flush)
pullIntoWithTimeline in interface Supplierpublic void update(Direction direction, Tuple updateElement, Timestamp timestamp)
Receiverpublic void clear()
Clearablepublic void tupleInserted(java.lang.Object source,
java.lang.Object target)
ITcObservertupleInserted in interface ITcObserver<java.lang.Object>source - the source of the tupletarget - the target of the tuplepublic void tupleDeleted(java.lang.Object source,
java.lang.Object target)
ITcObservertupleDeleted in interface ITcObserver<java.lang.Object>source - the source of the tupletarget - the target of the tuple