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 SpecializedProjectionIndexer
SpecializedProjectionIndexer.ListenerSubscription -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final Collection<Tuple> protected static final Tupleprotected static final Collection<Tuple> Fields inherited from class SpecializedProjectionIndexer
activeNode, subscriptionsFields inherited from class StandardIndexer
mask, parentFields inherited from class 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 SpecializedProjectionIndexer
attachListener, detachListener, getActiveNode, getSubscriptions, networkStructureChanged, propagateMethods inherited from class StandardIndexer
assignTraceInfo, getContainer, getListeners, getMask, getParent, toStringCoreMethods inherited from class BaseNode
acceptPropagatedTraceInfo, getNodeId, getTag, getTraceInfoPatternsEnumerated, getTraceInfos, setTag, toStringMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface Indexer
getListeners, getMask, getParent, getTimelineMethods inherited from interface Iterable
forEach, spliteratorMethods inherited from interface 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
-