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

## Class AbstractIndexTable.ColumnBoundListeners

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

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

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

  Listeners interested in all tuples seeded by a single columns

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected IMultiLookup<java.lang.Object,IQueryRuntimeContextListener>` | `listeners`
    `protected TupleMask` | `mask`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ColumnBoundListeners(int seedPosition)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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<java.lang.Object,IQueryRuntimeContextListener> listeners

  - ### Constructor Detail

    - #### ColumnBoundListeners

          public ColumnBoundListeners(int seedPosition)

  - ### 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.