org.eclipse.viatra.addon.databinding.runtime.collection

## Class ObservablePatternMatchSet<Match extends IPatternMatch>

- java.lang.Object
- - org.eclipse.core.databinding.observable.AbstractObservable
  - - org.eclipse.core.databinding.observable.set.AbstractObservableSet
    - - org.eclipse.viatra.addon.databinding.runtime.collection.ObservablePatternMatchSet<Match>

- All Implemented Interfaces:
    java.lang.Iterable, java.util.Collection, java.util.Set, org.eclipse.core.databinding.observable.IObservable, org.eclipse.core.databinding.observable.IObservableCollection, org.eclipse.core.databinding.observable.set.IObservableSet

      public class ObservablePatternMatchSet<Match extends IPatternMatch>
      extends org.eclipse.core.databinding.observable.set.AbstractObservableSet

  Observable view of a match set for a given `ViatraQueryMatcher` on a model (match sets of an `ViatraQueryMatcher` are not ordered by default).

  For creating complex observable lists, use `ObservablePatternMatchCollectionBuilder`.

  This implementation uses the `ExecutionSchema` to get notifications for match set changes, and can be instantiated using either an existing `ViatraQueryMatcher`, or an `IQuerySpecification` and `ViatraQueryEngine` or `RuleEngine`.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ObservablePatternMatchSet.SetCollectionUpdate`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `ObservablePatternMatchSet()` Creates an observable set, that will be built be the `ObservablePatternMatchCollectionBuilder` using the `ObservablePatternMatchCollection` interface.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `addListener(java.lang.Object arg0, org.eclipse.core.databinding.observable.IObservablesListener arg1)`
    `void` | `clear()`
    `protected java.lang.Object` | `clone()`
    `void` | `dispose()`
    `protected void` | `fireEvent(org.eclipse.core.databinding.observable.ObservableEvent arg0)`
    `java.lang.Object` | `getElementType()`
    `protected ObservablePatternMatchCollection<Match>` | `getInternalCollection()`
    `org.eclipse.core.databinding.observable.Realm` | `getRealm()`
    `RuleSpecification<Match>` | `getSpecification()`
    `protected java.util.Set<java.lang.Object>` | `getWrappedSet()`
    `protected boolean` | `hasListeners()`
    `protected void` | `removeListener(java.lang.Object arg0, org.eclipse.core.databinding.observable.IObservablesListener arg1)`

    - ### Methods inherited from class org.eclipse.core.databinding.observable.set.AbstractObservableSet

      `add, addAll, addSetChangeListener, contains, containsAll, equals, fireChange, fireSetChange, firstListenerAdded, getterCalled, hashCode, isEmpty, isStale, iterator, lastListenerRemoved, remove, removeAll, removeSetChangeListener, retainAll, setStale, size, toArray, toArray, toString`

    - ### Methods inherited from class org.eclipse.core.databinding.observable.AbstractObservable

      `addChangeListener, addDisposeListener, addStaleListener, checkRealm, fireStale, isDisposed, removeChangeListener, removeDisposeListener, removeStaleListener`

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

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface java.util.Set

      `spliterator`

    - ### Methods inherited from interface org.eclipse.core.databinding.observable.IObservable

      `addChangeListener, addDisposeListener, addStaleListener, getRealm, isDisposed, removeChangeListener, removeDisposeListener, removeStaleListener`

    - ### Methods inherited from interface java.util.Collection

      `parallelStream, removeIf, stream`

    - ### Methods inherited from interface java.lang.Iterable

      `forEach`

- - ### Constructor Detail

    - #### ObservablePatternMatchSet

          protected ObservablePatternMatchSet()

      Creates an observable set, that will be built be the `ObservablePatternMatchCollectionBuilder` using the `ObservablePatternMatchCollection` interface.

  - ### Method Detail

    - #### getInternalCollection

          protected ObservablePatternMatchCollection<Match> getInternalCollection()

    - #### getElementType

          public java.lang.Object getElementType()

    - #### getWrappedSet

          protected java.util.Set<java.lang.Object> getWrappedSet()

      Specified by:
        `getWrappedSet` in class `org.eclipse.core.databinding.observable.set.AbstractObservableSet`

    - #### dispose

          public void dispose()

      Specified by:
        `dispose` in interface `org.eclipse.core.databinding.observable.IObservable`
      Overrides:
        `dispose` in class `org.eclipse.core.databinding.observable.AbstractObservable`

    - #### clear

          public void clear()

      Specified by:
        `clear` in interface `java.util.Collection`
      Specified by:
        `clear` in interface `java.util.Set`
      Overrides:
        `clear` in class `org.eclipse.core.databinding.observable.set.AbstractObservableSet`

    - #### getSpecification

          public RuleSpecification<Match> getSpecification()

      Returns:
        the specification

    - #### addListener

          protected void addListener(java.lang.Object arg0,
                                     org.eclipse.core.databinding.observable.IObservablesListener arg1)

    - #### removeListener

          protected void removeListener(java.lang.Object arg0,
                                        org.eclipse.core.databinding.observable.IObservablesListener arg1)

    - #### hasListeners

          protected boolean hasListeners()

    - #### fireEvent

          protected void fireEvent(org.eclipse.core.databinding.observable.ObservableEvent arg0)

    - #### getRealm

          public org.eclipse.core.databinding.observable.Realm getRealm()

    - #### clone

          protected java.lang.Object clone()
                                    throws java.lang.CloneNotSupportedException

      Overrides:
        `clone` in class `java.lang.Object`
      Throws:
        `java.lang.CloneNotSupportedException`