org.eclipse.incquery.runtime.rete.index

## Class IndexerWithMemory

- java.lang.Object
- - org.eclipse.incquery.runtime.rete.network.BaseNode
  - - org.eclipse.incquery.runtime.rete.index.StandardIndexer
    - - org.eclipse.incquery.runtime.rete.index.IndexerWithMemory

- All Implemented Interfaces:
    Indexer, Node, Receiver
  Direct Known Subclasses:
    GenericProjectionIndexer

      public abstract class IndexerWithMemory
      extends StandardIndexer
      implements Receiver

  Author:
    Gabor Bergmann

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `IndexerWithMemory(ReteContainer reteContainer, TupleMask mask)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `appendParent(Supplier supplier)` appends a parent that will continously send insert and revoke updates to this supplier
    `MaskedTupleMemory` | `getMemory()`
    `java.util.Collection<Supplier>` | `getParents()` access active parent
    `void` | `removeParent(Supplier supplier)` removes a parent
    `void` | `update(Direction direction, Tuple updateElement)` updates the receiver with a newly found or lost partial matching

    - ### Methods inherited from class org.eclipse.incquery.runtime.rete.index.StandardIndexer

      `assignTraceInfo, attachListener, detachListener, getContainer, getListeners, getMask, getParent`

    - ### Methods inherited from class org.eclipse.incquery.runtime.rete.network.BaseNode

      `acceptPropagatedTraceInfo, getNodeId, getTag, getTraceInfos, setTag, toString`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.eclipse.incquery.runtime.rete.network.Node

      `acceptPropagatedTraceInfo, assignTraceInfo, getContainer, getNodeId, getTag, getTraceInfos, setTag`

    - ### Methods inherited from interface org.eclipse.incquery.runtime.rete.index.Indexer

      `get, getActiveNode`

- - ### Constructor Detail

    - #### IndexerWithMemory

          public IndexerWithMemory(ReteContainer reteContainer,
                                   TupleMask mask)

      Parameters:
        `reteContainer` -
        `mask` -

  - ### Method Detail

    - #### getMemory

          public MaskedTupleMemory getMemory()

    - #### update

          public void update(Direction direction,
                             Tuple updateElement)

      Description copied from interface: `Receiver`
      updates the receiver with a newly found or lost partial matching
      Specified by:
        `update` in interface `Receiver`

    - #### appendParent

          public void appendParent(Supplier supplier)

      Description copied from interface: `Receiver`
      appends a parent that will continously send insert and revoke updates to this supplier
      Specified by:
        `appendParent` in interface `Receiver`

    - #### removeParent

          public void removeParent(Supplier supplier)

      Description copied from interface: `Receiver`
      removes a parent
      Specified by:
        `removeParent` in interface `Receiver`

    - #### getParents

          public java.util.Collection<Supplier> getParents()

      Description copied from interface: `Receiver`
      access active parent
      Specified by:
        `getParents` in interface `Receiver`