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, memoryFields inherited from class tools.refinery.interpreter.rete.index.StandardIndexer
mask, parentFields 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).intA view consisting of exactly those signatures whose tuple group is not emptygetTimeline(Tuple signature) iterator()protected voidupdate(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, updateMethods inherited from class tools.refinery.interpreter.rete.index.StandardIndexer
assignTraceInfo, attachListener, detachListener, getContainer, getListeners, getMask, getParent, propagate, toStringCoreMethods inherited from class tools.refinery.interpreter.rete.network.BaseNode
acceptPropagatedTraceInfo, getNodeId, getTag, getTraceInfoPatternsEnumerated, getTraceInfos, setTag, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface tools.refinery.interpreter.rete.index.Indexer
attachListener, detachListener, getListeners, getMask, getParentMethods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface tools.refinery.interpreter.rete.network.Node
acceptPropagatedTraceInfo, assignTraceInfo, getCommunicationTracker, getContainer, getNodeId, getTag, getTraceInfos, setTagMethods 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:IndexerWithMemoryRefined version of update- Specified by:
updatein classIndexerWithMemory
-
get
-
getTimeline
- Specified by:
getTimelinein interfaceIndexer
-
iterator
-
getSignatures
Description copied from interface:IterableIndexerA view consisting of exactly those signatures whose tuple group is not empty- Specified by:
getSignaturesin interfaceIterableIndexer
-
getBucketCount
public int getBucketCount()- Specified by:
getBucketCountin interfaceIterableIndexer- Returns:
- the number of signatures whose tuple group is not empty
- Since:
- 2.0
-
getActiveNode
Description copied from interface:IndexerThis 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:
getActiveNodein interfaceIndexer- Returns:
- the active node that operates this indexer
-