org.eclipse.viatra.transformation.evm.update

## Class UpdateCompleteProvider

- java.lang.Object
- - org.eclipse.viatra.transformation.evm.update.UpdateCompleteProvider

- All Implemented Interfaces:
    IUpdateCompleteProvider
  Direct Known Subclasses:
    IQBaseCallbackUpdateCompleteProvider, QueryEngineUpdateCompleteProvider, TransactionUpdateCompleteProvider

      public abstract class UpdateCompleteProvider
      extends java.lang.Object
      implements IUpdateCompleteProvider

  This abstract implementation allows the registration of listeners and calls them when an update complete event occurs. The class is abstract since there is no definition of the actual update complete event.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `UpdateCompleteProvider()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `addUpdateCompleteListener(IUpdateCompleteListener listener, boolean fireNow)` Registers an `IUpdateCompleteListener` to receive notification on completed updates.
    `void` | `dispose()` Disposes of the provider by clearing the listener list
    `protected void` | `firstListenerAdded()`
    `protected void` | `lastListenerRemoved()`
    `boolean` | `removeUpdateCompleteListener(IUpdateCompleteListener listener)` Unregisters a listener registered by `IUpdateCompleteProvider.addUpdateCompleteListener(IUpdateCompleteListener, boolean)`.
    `protected void` | `updateCompleted()` Notifies each listener that an update complete event occurred.

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

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

- - ### Constructor Detail

    - #### UpdateCompleteProvider

          public UpdateCompleteProvider()

  - ### Method Detail

    - #### addUpdateCompleteListener

          public boolean addUpdateCompleteListener(IUpdateCompleteListener listener,
                                                   boolean fireNow)

      Description copied from interface: `IUpdateCompleteProvider`
      Registers an `IUpdateCompleteListener` to receive notification on completed updates.

      The listener can be unregistered via `IUpdateCompleteProvider.removeUpdateCompleteListener(IUpdateCompleteListener)`.

      Specified by:
        `addUpdateCompleteListener` in interface `IUpdateCompleteProvider`
      Parameters:
        `listener` - the listener that will be notified of each completed update
        `fireNow` - if true, listener will be immediately invoked without waiting for the next update

    - #### firstListenerAdded

          protected void firstListenerAdded()

    - #### lastListenerRemoved

          protected void lastListenerRemoved()

    - #### removeUpdateCompleteListener

          public boolean removeUpdateCompleteListener(IUpdateCompleteListener listener)

      Description copied from interface: `IUpdateCompleteProvider`
      Unregisters a listener registered by `IUpdateCompleteProvider.addUpdateCompleteListener(IUpdateCompleteListener, boolean)`.
      Specified by:
        `removeUpdateCompleteListener` in interface `IUpdateCompleteProvider`
      Parameters:
        `listener` - the listener that will no longer be notified.

    - #### updateCompleted

          protected void updateCompleted()

      Notifies each listener that an update complete event occurred.

    - #### dispose

          public void dispose()

      Disposes of the provider by clearing the listener list