public abstract class IndexerWithMemory extends StandardIndexer implements Receiver, NetworkStructureChangeSensitiveNode
Modifier and Type | Class and Description |
---|---|
protected static class |
IndexerWithMemory.NetworkStructureChangeSensitiveLogic |
Modifier and Type | Field and Description |
---|---|
protected IndexerWithMemory.NetworkStructureChangeSensitiveLogic |
logic |
protected Mailbox |
mailbox |
protected MaskedTupleMemory<Timestamp> |
memory |
mask, originalListeners, parent, proxyListeners
nodeId, reteContainer, tag, traceInfos
Constructor and Description |
---|
IndexerWithMemory(ReteContainer reteContainer,
TupleMask mask) |
Modifier and Type | Method and Description |
---|---|
void |
appendParent(Supplier supplier)
appends a parent that will continuously send insert and revoke updates to this supplier
|
protected IndexerWithMemory.NetworkStructureChangeSensitiveLogic |
createLogic() |
protected IndexerWithMemory.NetworkStructureChangeSensitiveLogic |
createTimelessLogic() |
protected IndexerWithMemory.NetworkStructureChangeSensitiveLogic |
createTimelyLogic() |
Mailbox |
getMailbox()
Returns the
Mailbox of this receiver. |
MaskedTupleMemory<Timestamp> |
getMemory() |
java.util.Collection<Supplier> |
getParents()
access active parent
|
protected Mailbox |
instantiateMailbox()
Instantiates the
Mailbox of this receiver. |
void |
networkStructureChanged()
At the time of the invocation, the dependency graph has already been updated.
|
void |
removeParent(Supplier supplier)
removes a parent
|
void |
update(Direction direction,
Tuple updateElement,
Timestamp timestamp)
updates the receiver with a newly found or lost partial matching
|
protected abstract void |
update(Direction direction,
Tuple updateElement,
Tuple signature,
boolean change,
Timestamp timestamp)
Refined version of update
|
assignTraceInfo, attachListener, detachListener, getContainer, getListeners, getMask, getParent, propagate, toStringCore
acceptPropagatedTraceInfo, getNodeId, getTag, getTraceInfoPatternsEnumerated, getTraceInfos, setTag, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
acceptPropagatedTraceInfo, assignTraceInfo, getCommunicationTracker, getContainer, getNodeId, getTag, getTraceInfos, setTag
get, getActiveNode, getWithTimestamp
protected MaskedTupleMemory<Timestamp> memory
protected IndexerWithMemory.NetworkStructureChangeSensitiveLogic logic
protected final Mailbox mailbox
public IndexerWithMemory(ReteContainer reteContainer, TupleMask mask)
reteContainer
- mask
- public void networkStructureChanged()
NetworkStructureChangeSensitiveNode
networkStructureChanged
in interface NetworkStructureChangeSensitiveNode
networkStructureChanged
in class StandardIndexer
protected Mailbox instantiateMailbox()
Mailbox
of this receiver. Subclasses may override this method to provide their own
mailbox implementation.public Mailbox getMailbox()
Receiver
Mailbox
of this receiver.getMailbox
in interface Receiver
public MaskedTupleMemory<Timestamp> getMemory()
public void update(Direction direction, Tuple updateElement, Timestamp timestamp)
Receiver
protected abstract void update(Direction direction, Tuple updateElement, Tuple signature, boolean change, Timestamp timestamp)
public void appendParent(Supplier supplier)
Receiver
appendParent
in interface Receiver
public void removeParent(Supplier supplier)
Receiver
removeParent
in interface Receiver
public java.util.Collection<Supplier> getParents()
Receiver
getParents
in interface Receiver
protected IndexerWithMemory.NetworkStructureChangeSensitiveLogic createLogic()
protected IndexerWithMemory.NetworkStructureChangeSensitiveLogic createTimelessLogic()
protected IndexerWithMemory.NetworkStructureChangeSensitiveLogic createTimelyLogic()