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
AbstractObservableValue
public AbstractObservableValue()
- Constructs a new instance with the default realm.
AbstractObservableValue
public AbstractObservableValue(
Realm realm)
-
Parameters:
-
realm
-
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
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.