org.eclipse.viatra.addon.databinding.runtime.observables

## Class ObservableLabelFeature

- java.lang.Object
- - org.eclipse.core.databinding.observable.AbstractObservable
  - - org.eclipse.core.databinding.observable.value.AbstractObservableValue
    - - org.eclipse.viatra.addon.databinding.runtime.observables.ObservableLabelFeature

- All Implemented Interfaces:
    org.eclipse.core.databinding.observable.IObservable, org.eclipse.core.databinding.observable.value.IObservableValue

      public class ObservableLabelFeature
      extends org.eclipse.core.databinding.observable.value.AbstractObservableValue

  An observable label feature is a computed label, that can refer to the various parameters of the match, and reacts to the corresponding model changes.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ObservableLabelFeature(IPatternMatch match, java.lang.String expression, java.lang.Object container)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addChangeListener(org.eclipse.core.databinding.observable.IChangeListener listener)`
    `protected void` | `addListener(java.lang.Object arg0, org.eclipse.core.databinding.observable.IObservablesListener arg1)`
    `void` | `addValueChangeListener(org.eclipse.core.databinding.observable.value.IValueChangeListener listener)`
    `protected java.lang.Object` | `calculate()` Subclasses must override this method to provide the object's value.
    `protected java.lang.Object` | `clone()`
    `void` | `dispose()`
    `protected java.lang.Object` | `doGetValue()`
    `protected void` | `fireEvent(org.eclipse.core.databinding.observable.ObservableEvent arg0)`
    `protected void` | `firstListenerAdded()`
    `java.lang.Object` | `getContainer()`
    `java.lang.String` | `getExpression()`
    `IPatternMatch` | `getMatch()`
    `org.eclipse.core.databinding.observable.Realm` | `getRealm()`
    `java.lang.Object` | `getValueType()`
    `protected boolean` | `hasListeners()`
    `boolean` | `isStale()`
    `protected void` | `lastListenerRemoved()`
    `protected void` | `makeDirty()`
    `protected void` | `removeListener(java.lang.Object arg0, org.eclipse.core.databinding.observable.IObservablesListener arg1)`

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

      `doSetValue, fireChange, fireValueChange, getValue, removeValueChangeListener, setValue`

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

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

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

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

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

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

- - ### Constructor Detail

    - #### ObservableLabelFeature

          public ObservableLabelFeature(IPatternMatch match,
                                        java.lang.String expression,
                                        java.lang.Object container)

  - ### Method Detail

    - #### getContainer

          public java.lang.Object getContainer()

    - #### getMatch

          public IPatternMatch getMatch()

    - #### getExpression

          public java.lang.String getExpression()

    - #### calculate

          protected java.lang.Object calculate()

      Subclasses must override this method to provide the object's value. Any dependencies used to calculate the value must be `IObservable`, and implementers must use one of the interface methods tagged TrackedGetter for ComputedValue to recognize it as a dependency.
      Returns:
        the object's value

    - #### dispose

          public void dispose()

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

    - #### doGetValue

          protected final java.lang.Object doGetValue()

      Specified by:
        `doGetValue` in class `org.eclipse.core.databinding.observable.value.AbstractObservableValue`

    - #### makeDirty

          protected final void makeDirty()

    - #### isStale

          public boolean isStale()

      Specified by:
        `isStale` in interface `org.eclipse.core.databinding.observable.IObservable`
      Overrides:
        `isStale` in class `org.eclipse.core.databinding.observable.value.AbstractObservableValue`

    - #### getValueType

          public java.lang.Object getValueType()

    - #### hasListeners

          protected boolean hasListeners()

      Since:
        1.1

    - #### addChangeListener

          public void addChangeListener(org.eclipse.core.databinding.observable.IChangeListener listener)

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

    - #### addValueChangeListener

          public void addValueChangeListener(org.eclipse.core.databinding.observable.value.IValueChangeListener listener)

      Specified by:
        `addValueChangeListener` in interface `org.eclipse.core.databinding.observable.value.IObservableValue`
      Overrides:
        `addValueChangeListener` in class `org.eclipse.core.databinding.observable.value.AbstractObservableValue`

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

    - #### fireEvent

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

    - #### firstListenerAdded

          protected void firstListenerAdded()

    - #### lastListenerRemoved

          protected void lastListenerRemoved()

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