Class NullIndexer
java.lang.Object
tools.refinery.interpreter.rete.network.BaseNode
tools.refinery.interpreter.rete.index.StandardIndexer
tools.refinery.interpreter.rete.index.SpecializedProjectionIndexer
tools.refinery.interpreter.rete.index.NullIndexer
- All Implemented Interfaces:
Iterable<Tuple>,Indexer,IterableIndexer,ProjectionIndexer,NetworkStructureChangeSensitiveNode,Node
- Direct Known Subclasses:
MemoryNullIndexer,TimelyMemoryNullIndexer
Defines an abstract trivial indexer that projects the contents of some stateful node to the empty tuple, and can
therefore save space. Can only exist in connection with a stateful store, and must be operated by another node (the
active node). Do not attach parents directly!
-
Nested Class Summary
Nested classes/interfaces inherited from class tools.refinery.interpreter.rete.index.SpecializedProjectionIndexer
SpecializedProjectionIndexer.ListenerSubscription -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final Collection<Tuple> protected static final Tupleprotected static final Collection<Tuple> Fields inherited from class tools.refinery.interpreter.rete.index.SpecializedProjectionIndexer
activeNode, subscriptionsFields 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
ConstructorsConstructorDescriptionNullIndexer(ReteContainer reteContainer, int tupleWidth, Supplier parent, Node activeNode, List<SpecializedProjectionIndexer.ListenerSubscription> sharedSubscriptionList) -
Method Summary
Modifier and TypeMethodDescriptionintA view consisting of exactly those signatures whose tuple group is not emptyprotected abstract Collection<Tuple> protected booleanisEmpty()protected booleaniterator()voidpropagateToListener(IndexerListener listener, Direction direction, Tuple updateElement, Timestamp timestamp) Methods inherited from class tools.refinery.interpreter.rete.index.SpecializedProjectionIndexer
attachListener, detachListener, getActiveNode, getSubscriptions, networkStructureChanged, propagateMethods inherited from class tools.refinery.interpreter.rete.index.StandardIndexer
assignTraceInfo, getContainer, getListeners, getMask, getParent, 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
getListeners, getMask, getParent, getTimelineMethods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface tools.refinery.interpreter.rete.network.Node
acceptPropagatedTraceInfo, assignTraceInfo, getCommunicationTracker, getContainer, getNodeId, getTag, getTraceInfos, setTag
-
Field Details
-
nullSignature
-
nullSingleton
-
emptySet
-
-
Constructor Details
-
NullIndexer
public NullIndexer(ReteContainer reteContainer, int tupleWidth, Supplier parent, Node activeNode, List<SpecializedProjectionIndexer.ListenerSubscription> sharedSubscriptionList)
-
-
Method Details
-
getTuples
-
get
- Returns:
- all stored tuples that conform to the specified signature, null if there are none such. CONTRACT: do not modify!
-
getSignatures
Description copied from interface:IterableIndexerA view consisting of exactly those signatures whose tuple group is not empty -
isEmpty
protected boolean isEmpty() -
isSingleElement
protected boolean isSingleElement() -
iterator
-
getBucketCount
public int getBucketCount()- Returns:
- the number of signatures whose tuple group is not empty
-
propagateToListener
public void propagateToListener(IndexerListener listener, Direction direction, Tuple updateElement, Timestamp timestamp) - Specified by:
propagateToListenerin classSpecializedProjectionIndexer
-