Class StandardIndexer
- java.lang.Object
-
- org.eclipse.viatra.query.runtime.rete.network.BaseNode
-
- org.eclipse.viatra.query.runtime.rete.index.StandardIndexer
-
- All Implemented Interfaces:
Indexer,NetworkStructureChangeSensitiveNode,Node
- Direct Known Subclasses:
AbstractColumnAggregatorNode.AggregatorOuterIdentityIndexer,AbstractColumnAggregatorNode.AggregatorOuterIndexer,IndexerWithMemory,SpecializedProjectionIndexer,TransitiveClosureNodeIndexer
public abstract class StandardIndexer extends BaseNode implements Indexer, NetworkStructureChangeSensitiveNode
An abstract standard implementation of the Indexer interface, providing common bookkeeping functionality.
-
-
Field Summary
Fields Modifier and Type Field Description protected TupleMaskmaskprotected Supplierparent-
Fields inherited from class org.eclipse.viatra.query.runtime.rete.network.BaseNode
nodeId, reteContainer, tag, traceInfos
-
-
Constructor Summary
Constructors Constructor Description StandardIndexer(ReteContainer reteContainer, TupleMask mask)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidassignTraceInfo(TraceInfo traceInfo)assigns new traceability info to this nodevoidattachListener(IndexerListener listener)voiddetachListener(IndexerListener listener)ReteContainergetContainer()java.util.Collection<IndexerListener>getListeners()TupleMaskgetMask()SuppliergetParent()voidnetworkStructureChanged()At the time of the invocation, the dependency graph has already been updated.protected voidpropagate(Direction direction, Tuple updateElement, Tuple signature, boolean change, Timestamp timestamp)protected java.lang.StringtoStringCore()clients should override this to append before the tag / trace indicators-
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
get, getActiveNode, getTimeline
-
Methods inherited from interface org.eclipse.viatra.query.runtime.rete.network.Node
acceptPropagatedTraceInfo, getCommunicationTracker, getNodeId, getTag, getTraceInfos, setTag
-
-
-
-
Constructor Detail
-
StandardIndexer
public StandardIndexer(ReteContainer reteContainer, TupleMask mask)
-
-
Method Detail
-
propagate
protected void propagate(Direction direction, Tuple updateElement, Tuple signature, boolean change, Timestamp timestamp)
- Since:
- 2.4
-
getMask
public TupleMask getMask()
-
getParent
public Supplier getParent()
-
attachListener
public void attachListener(IndexerListener listener)
- Specified by:
attachListenerin interfaceIndexer
-
detachListener
public void detachListener(IndexerListener listener)
- Specified by:
detachListenerin interfaceIndexer
-
networkStructureChanged
public void networkStructureChanged()
Description copied from interface:NetworkStructureChangeSensitiveNodeAt the time of the invocation, the dependency graph has already been updated.- Specified by:
networkStructureChangedin interfaceNetworkStructureChangeSensitiveNode
-
getListeners
public java.util.Collection<IndexerListener> getListeners()
- Specified by:
getListenersin interfaceIndexer
-
getContainer
public ReteContainer getContainer()
- Specified by:
getContainerin interfaceNode- Overrides:
getContainerin classBaseNode- Returns:
- the network this node belongs to.
-
toStringCore
protected java.lang.String toStringCore()
Description copied from class:BaseNodeclients should override this to append before the tag / trace indicators- Overrides:
toStringCorein classBaseNode
-
assignTraceInfo
public void assignTraceInfo(TraceInfo traceInfo)
Description copied from interface:Nodeassigns new traceability info to this node- Specified by:
assignTraceInfoin interfaceNode- Overrides:
assignTraceInfoin classBaseNode
-
-