public abstract class StandardNode extends BaseNode implements Supplier, NetworkStructureChangeSensitiveNode
Modifier and Type | Field and Description |
---|---|
protected java.util.List<Mailbox> |
childMailboxes |
protected java.util.List<Receiver> |
children |
nodeId, reteContainer, tag, traceInfos
Constructor and Description |
---|
StandardNode(ReteContainer reteContainer) |
Modifier and Type | Method and Description |
---|---|
void |
appendChild(Receiver receiver)
appends a receiver that will continously receive insert and revoke updates from this supplier
|
ProjectionIndexer |
constructIndex(TupleMask mask,
TraceInfo... traces)
Instantiates (or reuses, depending on implementation) an index according to the given mask.
|
java.util.Collection<Mailbox> |
getChildMailboxes() |
java.util.Set<Tuple> |
getPulledContents(boolean flush)
Returns the contents of this object in this particular moment.
|
java.util.Collection<Receiver> |
getReceivers()
lists receivers
|
protected void |
issueError(java.lang.String message,
java.lang.Exception ex) |
void |
networkStructureChanged()
At the time of the invocation, the dependency graph has already been updated.
|
protected void |
propagateUpdate(Direction direction,
Tuple updateElement,
Timestamp timestamp) |
void |
removeChild(Receiver receiver)
removes a receiver
|
acceptPropagatedTraceInfo, assignTraceInfo, getContainer, getNodeId, getTag, getTraceInfoPatternsEnumerated, getTraceInfos, setTag, toString, toStringCore
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getPulledContents, pullInto, pullIntoWithTimestamp
acceptPropagatedTraceInfo, assignTraceInfo, getCommunicationTracker, getContainer, getNodeId, getTag, getTraceInfos, setTag
protected final java.util.List<Receiver> children
protected final java.util.List<Mailbox> childMailboxes
public StandardNode(ReteContainer reteContainer)
protected void propagateUpdate(Direction direction, Tuple updateElement, Timestamp timestamp)
public void appendChild(Receiver receiver)
Supplier
appendChild
in interface Supplier
public void removeChild(Receiver receiver)
Supplier
removeChild
in interface Supplier
public void networkStructureChanged()
NetworkStructureChangeSensitiveNode
networkStructureChanged
in interface NetworkStructureChangeSensitiveNode
public java.util.Collection<Receiver> getReceivers()
Supplier
getReceivers
in interface Supplier
public java.util.Collection<Mailbox> getChildMailboxes()
public java.util.Set<Tuple> getPulledContents(boolean flush)
Supplier
Intended mainly for debug purposes, therefore does not do flushing.
During runtime, flushing may be preferred; see ReteContainer#pullContents(Supplier)
getPulledContents
in interface Supplier
public ProjectionIndexer constructIndex(TupleMask mask, TraceInfo... traces)
Supplier
constructIndex
in interface Supplier
protected void issueError(java.lang.String message, java.lang.Exception ex)