org.eclipse.viatra.query.runtime.registry

## Interface IRegistrySourceConnector

- All Known Implementing Classes:
    AbstractRegistrySourceConnector, QueryGroupProviderSourceConnector, SpecificationMapSourceConnector

      public interface IRegistrySourceConnector

  A registry source connector can provide query specifications to listeners (e.g. `IQuerySpecificationRegistry`). The connector interface does not support direct access to query specifications, instead it sends existing specifications to listeners on addition and sends notifications to listeners when a change occurs in the set of specifications.
  Since:
    1.3

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addListener(IConnectorListener listener)` Add a listener to get updates on changes in the query specifications available from the connector.
    `java.lang.String` | `getIdentifier()` The connector must return the same identifier every time it is invoked!
    `boolean` | `includeSpecificationsInDefaultViews()`
    `void` | `removeListener(IConnectorListener listener)` Removes an already registered listener and stops sending updates.

- - ### Method Detail

    - #### getIdentifier

          java.lang.String getIdentifier()

      The connector must return the same identifier every time it is invoked!
      Returns:
        unique identifier of the connector

    - #### includeSpecificationsInDefaultViews

          boolean includeSpecificationsInDefaultViews()

      Returns:
        true if the specifications of the connector should be included in default views

    - #### addListener

          void addListener(IConnectorListener listener)

      Add a listener to get updates on changes in the query specifications available from the connector. When the listener is added, the connector is expected to call the listener with each existing query specification.
      Parameters:
        `listener` - that should be added

    - #### removeListener

          void removeListener(IConnectorListener listener)

      Removes an already registered listener and stops sending updates. The connector is not required to send any updates before returning from this method, but should not send any events after this method returns.
      Parameters:
        `listener` - that should be removed