Class GenericProjectionIndexer
java.lang.Object
tools.refinery.interpreter.rete.network.BaseNode
tools.refinery.interpreter.rete.index.StandardIndexer
tools.refinery.interpreter.rete.index.IndexerWithMemory
tools.refinery.interpreter.rete.index.GenericProjectionIndexer
- All Implemented Interfaces:
Iterable<Tuple>
,Indexer
,IterableIndexer
,ProjectionIndexer
,ResumableNode
,IGroupable
,NetworkStructureChangeSensitiveNode
,Node
,Receiver
- Direct Known Subclasses:
OnetimeIndexer
A generic Indexer capable of indexing along any valid TupleMask. Does not keep track of parents, because will not
ever pull parents.
-
Nested Class Summary
Nested classes/interfaces inherited from class tools.refinery.interpreter.rete.index.IndexerWithMemory
IndexerWithMemory.NetworkStructureChangeSensitiveLogic
-
Field Summary
Fields inherited from class tools.refinery.interpreter.rete.index.IndexerWithMemory
group, logic, mailbox, memory
Fields inherited from class tools.refinery.interpreter.rete.index.StandardIndexer
mask, parent
Fields inherited from class tools.refinery.interpreter.rete.network.BaseNode
nodeId, reteContainer, tag, traceInfos
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionThis indexer will be updated whenever a Rete update is sent to the active node (or an equivalent time slot allotted to it).int
A view consisting of exactly those signatures whose tuple group is not emptygetTimeline
(Tuple signature) iterator()
protected void
update
(Direction direction, Tuple updateElement, Tuple signature, boolean change, Timestamp timestamp) Refined version of updateMethods inherited from class tools.refinery.interpreter.rete.index.IndexerWithMemory
appendParent, createLogic, getCurrentGroup, getMailbox, getMemory, getParents, getResumableTimestamp, instantiateMailbox, networkStructureChanged, removeParent, resumeAt, setCurrentGroup, update
Methods inherited from class tools.refinery.interpreter.rete.index.StandardIndexer
assignTraceInfo, attachListener, detachListener, getContainer, getListeners, getMask, getParent, propagate, toStringCore
Methods inherited from class tools.refinery.interpreter.rete.network.BaseNode
acceptPropagatedTraceInfo, getNodeId, getTag, getTraceInfoPatternsEnumerated, getTraceInfos, setTag, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface tools.refinery.interpreter.rete.index.Indexer
attachListener, detachListener, getListeners, getMask, getParent
Methods inherited from interface java.lang.Iterable
forEach, spliterator
Methods inherited from interface tools.refinery.interpreter.rete.network.Node
acceptPropagatedTraceInfo, assignTraceInfo, getCommunicationTracker, getContainer, getNodeId, getTag, getTraceInfos, setTag
Methods inherited from interface tools.refinery.interpreter.rete.network.Receiver
batchUpdate
-
Constructor Details
-
GenericProjectionIndexer
-
-
Method Details
-
update
protected void update(Direction direction, Tuple updateElement, Tuple signature, boolean change, Timestamp timestamp) Description copied from class:IndexerWithMemory
Refined version of update- Specified by:
update
in classIndexerWithMemory
-
get
-
getTimeline
- Specified by:
getTimeline
in interfaceIndexer
-
iterator
-
getSignatures
Description copied from interface:IterableIndexer
A view consisting of exactly those signatures whose tuple group is not empty- Specified by:
getSignatures
in interfaceIterableIndexer
-
getBucketCount
public int getBucketCount()- Specified by:
getBucketCount
in interfaceIterableIndexer
- Returns:
- the number of signatures whose tuple group is not empty
- Since:
- 2.0
-
getActiveNode
Description copied from interface:Indexer
This indexer will be updated whenever a Rete update is sent to the active node (or an equivalent time slot allotted to it). The active node is typically the indexer itself, but it can be a different node such as its parent.- Specified by:
getActiveNode
in interfaceIndexer
- Returns:
- the active node that operates this indexer
-