Eclipse Platform Release 3.7

## org.eclipse.core.databinding.observable.value
Class AbstractObservableValue

    java.lang.Object
      org.eclipse.core.databinding.observable.AbstractObservable
          org.eclipse.core.databinding.observable.value.AbstractObservableValue

All Implemented Interfaces:
  IObservable, IObservableValue

Direct Known Subclasses:
  AbstractVetoableValue, ComputedValue, DateAndTimeObservableValue, DuplexingObservableValue, SelectObservableValue, WritableValue

    public abstract class AbstractObservableValue

extends AbstractObservable
implements IObservableValue

This class is thread safe. All state accessing methods must be invoked from the `current realm`. Methods for adding and removing listeners may be invoked from any thread.

Since:
  1.0

Constructor Summary
`AbstractObservableValue()` Constructs a new instance with the default realm.
`AbstractObservableValue(Realm realm)`

Method Summary
`protected void` `addListener(Object listenerType, IObservablesListener listener)`
`void` `addValueChangeListener(IValueChangeListener listener)`
`protected Object` `clone()`
`protected abstract Object` `doGetValue()`
`protected void` `doSetValue(Object value)` Template method for setting the value of the observable.
`protected void` `fireChange()`
`protected void` `fireEvent(ObservableEvent event)`
`protected void` `fireValueChange(ValueDiff diff)`
`protected void` `firstListenerAdded()`
`Realm` `getRealm()`
`Object` `getValue()` Returns the value.
`protected boolean` `hasListeners()`
`boolean` `isStale()` Returns whether the state of this observable is stale and is expected to change soon.
`protected void` `lastListenerRemoved()`
`protected void` `removeListener(Object listenerType, IObservablesListener listener)`
`void` `removeValueChangeListener(IValueChangeListener listener)`
`void` `setValue(Object value)` Sets the value.

Methods inherited from class org.eclipse.core.databinding.observable.AbstractObservable
`addChangeListener, addDisposeListener, addStaleListener, checkRealm, dispose, 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.value.IObservableValue
`getValueType`

Methods inherited from interface org.eclipse.core.databinding.observable.IObservable
`addChangeListener, addDisposeListener, addStaleListener, dispose, getRealm, isDisposed, removeChangeListener, removeDisposeListener, removeStaleListener`

Constructor Detail

### AbstractObservableValue

    public AbstractObservableValue()

  Constructs a new instance with the default realm.

### AbstractObservableValue

    public AbstractObservableValue(Realm realm)

Parameters:
  `realm` -

Method Detail

### addValueChangeListener

    public void addValueChangeListener(IValueChangeListener listener)

  Specified by:
    `addValueChangeListener` in interface `IObservableValue`

### removeValueChangeListener

    public void removeValueChangeListener(IValueChangeListener listener)

  Specified by:
    `removeValueChangeListener` in interface `IObservableValue`

### setValue

    public final void setValue(Object value)

  Description copied from interface: `IObservableValue`
  Sets the value. Must be invoked in the `Realm` of the observable.

  Specified by:
    `setValue` in interface `IObservableValue`
  Parameters:
    `value` - the value to set

### doSetValue

    protected void doSetValue(Object value)

  Template method for setting the value of the observable. By default the method throws an `UnsupportedOperationException`.

  Parameters:
    `value` -

### fireValueChange

    protected void fireValueChange(ValueDiff diff)

### getValue

    public final Object getValue()

  Description copied from interface: `IObservableValue`
  Returns the value. Must be invoked in the `Realm` of the observable.

  Specified by:
    `getValue` in interface `IObservableValue`
  Returns:
    the current value

### doGetValue

    protected abstract Object doGetValue()

### isStale

    public boolean isStale()

  Description copied from interface: `IObservable`
  Returns whether the state of this observable is stale and is expected to change soon. A non-stale observable that becomes stale will notify its stale listeners. A stale object that becomes non-stale does so by changing its state and notifying its change listeners, it does not notify its stale listeners about becoming non-stale. Clients that do not expect asynchronous changes may ignore staleness of observable objects.

  Specified by:
    `isStale` in interface `IObservable`
  Returns:
    true if this observable's state is stale and will change soon.

### fireChange

    protected void fireChange()

  Overrides:
    `fireChange` in class `AbstractObservable`

### addListener

    protected void addListener(Object listenerType,
                               IObservablesListener listener)

  Parameters:
    `listenerType` -
    `listener` -

### removeListener

    protected void removeListener(Object listenerType,
                                  IObservablesListener listener)

  Parameters:
    `listenerType` -
    `listener` -

### hasListeners

    protected boolean hasListeners()

### fireEvent

    protected void fireEvent(ObservableEvent event)

### firstListenerAdded

    protected void firstListenerAdded()

### lastListenerRemoved

    protected void lastListenerRemoved()

### getRealm

    public Realm getRealm()

  Returns:
    Returns the realm.

### clone

    protected Object clone()
                    throws CloneNotSupportedException

  Overrides:
    `clone` in class `Object`
  Throws:
    `CloneNotSupportedException`

Eclipse Platform Release 3.7

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2011. All rights reserved.