Package org.eclipse.viatra.query.runtime.matchers.scopes.tables

## Class AbstractIndexTable.GenericBoundListeners

- java.lang.Object
- - org.eclipse.viatra.query.runtime.matchers.scopes.tables.AbstractIndexTable.GenericBoundListeners

- All Implemented Interfaces:
    `AbstractIndexTable.IListenersWithSameMask`
  Enclosing class:
    AbstractIndexTable

      protected final class AbstractIndexTable.GenericBoundListeners
      extends java.lang.Object
      implements AbstractIndexTable.IListenersWithSameMask

  Listeners interested in all tuples seeded by a tuple of values

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected IMultiLookup<Tuple,​IQueryRuntimeContextListener>` | `listeners` |
    `protected TupleMask` | `mask` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `GenericBoundListeners​(TupleMask mask)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addUpdateListener​(Tuple originalSeed, IQueryRuntimeContextListener listener)` |
    `void` | `deliver​(Tuple updateTuple, boolean isInsertion)` |
    `TupleMask` | `getSeedMask()` |
    `boolean` | `removeUpdateListener​(Tuple originalSeed, IQueryRuntimeContextListener listener)` |

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### mask

          protected final TupleMask mask

    - #### listeners

          protected IMultiLookup<Tuple,​IQueryRuntimeContextListener> listeners

  - ### Constructor Detail

    - #### GenericBoundListeners

          public GenericBoundListeners​(TupleMask mask)

  - ### Method Detail

    - #### getSeedMask

          public TupleMask getSeedMask()

      Specified by:
        `getSeedMask` in interface `AbstractIndexTable.IListenersWithSameMask`

    - #### deliver

          public void deliver​(Tuple updateTuple,
                              boolean isInsertion)

      Specified by:
        `deliver` in interface `AbstractIndexTable.IListenersWithSameMask`

    - #### addUpdateListener

          public void addUpdateListener​(Tuple originalSeed,
                                        IQueryRuntimeContextListener listener)

      Specified by:
        `addUpdateListener` in interface `AbstractIndexTable.IListenersWithSameMask`

    - #### removeUpdateListener

          public boolean removeUpdateListener​(Tuple originalSeed,
                                              IQueryRuntimeContextListener listener)

      Specified by:
        `removeUpdateListener` in interface `AbstractIndexTable.IListenersWithSameMask`
      Returns:
        true if this was the last listener, and the `AbstractIndexTable.IListenersWithSameMask` can be disposed of.