Class MemoryIdentityIndexer
- java.lang.Object
-
- org.eclipse.viatra.query.runtime.rete.network.BaseNode
-
- org.eclipse.viatra.query.runtime.rete.index.StandardIndexer
-
- org.eclipse.viatra.query.runtime.rete.index.SpecializedProjectionIndexer
-
- org.eclipse.viatra.query.runtime.rete.index.IdentityIndexer
-
- org.eclipse.viatra.query.runtime.rete.index.MemoryIdentityIndexer
-
- All Implemented Interfaces:
java.lang.Iterable<Tuple>
,Indexer
,IterableIndexer
,ProjectionIndexer
,NetworkStructureChangeSensitiveNode
,Node
public class MemoryIdentityIndexer extends IdentityIndexer
Defines a trivial indexer that identically projects the contents of a memory-equipped node, and can therefore save space. Can only exist in connection with a memory, and must be operated by another node. Do not attach parents directly!- No Implement:
- Rely on the provided implementations
- No Reference:
- Use only via standard Node and Indexer interfaces
- No Instantiate:
- This class is not intended to be instantiated by clients.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.viatra.query.runtime.rete.index.SpecializedProjectionIndexer
SpecializedProjectionIndexer.ListenerSubscription
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Collection<Tuple>
memory
-
Fields inherited from class org.eclipse.viatra.query.runtime.rete.index.SpecializedProjectionIndexer
activeNode, subscriptions
-
Fields inherited from class org.eclipse.viatra.query.runtime.rete.index.StandardIndexer
mask, parent
-
Fields inherited from class org.eclipse.viatra.query.runtime.rete.network.BaseNode
nodeId, reteContainer, tag, traceInfos
-
-
Constructor Summary
Constructors Constructor Description MemoryIdentityIndexer(ReteContainer reteContainer, int tupleWidth, java.util.Collection<Tuple> memory, Supplier parent, Receiver activeNode, java.util.List<SpecializedProjectionIndexer.ListenerSubscription> sharedSubscriptionList)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.util.Collection<Tuple>
getTuples()
-
Methods inherited from class org.eclipse.viatra.query.runtime.rete.index.IdentityIndexer
contains, get, getBucketCount, getSignatures, iterator, propagateToListener
-
Methods inherited from class org.eclipse.viatra.query.runtime.rete.index.SpecializedProjectionIndexer
attachListener, detachListener, getActiveNode, getSubscriptions, networkStructureChanged, propagate
-
Methods inherited from class org.eclipse.viatra.query.runtime.rete.index.StandardIndexer
assignTraceInfo, getContainer, getListeners, getMask, getParent, toStringCore
-
Methods inherited from class org.eclipse.viatra.query.runtime.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 org.eclipse.viatra.query.runtime.rete.index.Indexer
getListeners, getMask, getParent, getTimeline
-
Methods inherited from interface org.eclipse.viatra.query.runtime.rete.network.Node
acceptPropagatedTraceInfo, assignTraceInfo, getCommunicationTracker, getContainer, getNodeId, getTag, getTraceInfos, setTag
-
-
-
-
Field Detail
-
memory
protected final java.util.Collection<Tuple> memory
-
-
Constructor Detail
-
MemoryIdentityIndexer
public MemoryIdentityIndexer(ReteContainer reteContainer, int tupleWidth, java.util.Collection<Tuple> memory, Supplier parent, Receiver activeNode, java.util.List<SpecializedProjectionIndexer.ListenerSubscription> sharedSubscriptionList)
- Parameters:
reteContainer
-tupleWidth
- the width of the tuples of memoryNodememory
- the memory whose contents are to be identity-indexedparent
- the parent node that owns the memory
-
-
Method Detail
-
getTuples
protected java.util.Collection<Tuple> getTuples()
- Specified by:
getTuples
in classIdentityIndexer
-
-