Class WritableValue<T>
java.lang.Object
org.eclipse.core.databinding.observable.AbstractObservable
org.eclipse.core.databinding.observable.value.AbstractObservableValue<T>
org.eclipse.core.databinding.observable.value.WritableValue<T>
- Type Parameters:
T- the type of value being observed
- All Implemented Interfaces:
IObservable,IObservableValue<T>
Mutable (writable) implementation of
IObservableValue that will
maintain a value and fire change events when the value changes.
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
ConstructorsConstructorDescriptionConstructs a new instance with the default realm, anullvalue type, and anullvalue.WritableValue(Realm realm) Constructs a new instance with the providedrealm, anullvalue type, and anullinitial value.WritableValue(Realm realm, T initialValue, Object valueType) Constructs a new instance.WritableValue(T initialValue, Object valueType) Constructs a new instance with the default realm. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddListener(Object listenerType, IObservablesListener listener) protected Objectclone()voiddoSetValue(T value) Template method for setting the value of the observable.protected voidfireEvent(ObservableEvent event) protected voidgetRealm()The value type of this observable value, ornullif this observable value is untyped.protected booleanprotected voidprotected voidremoveListener(Object listenerType, IObservablesListener listener) static <T2> WritableValue<T2> withValueType(Object elementType) Methods inherited from class org.eclipse.core.databinding.observable.value.AbstractObservableValue
addValueChangeListener, fireChange, fireValueChange, getValue, isStale, removeValueChangeListener, setValueMethods inherited from class org.eclipse.core.databinding.observable.AbstractObservable
addChangeListener, addDisposeListener, addStaleListener, checkRealm, dispose, fireStale, isDisposed, removeChangeListener, removeDisposeListener, removeStaleListenerMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.eclipse.core.databinding.observable.IObservable
addChangeListener, addDisposeListener, addStaleListener, dispose, getRealm, isDisposed, removeChangeListener, removeDisposeListener, removeStaleListener
-
Constructor Details
-
WritableValue
public WritableValue()Constructs a new instance with the default realm, anullvalue type, and anullvalue. -
WritableValue
Constructs a new instance with the default realm.- Parameters:
initialValue- can benullvalueType- can benull
-
WritableValue
Constructs a new instance with the providedrealm, anullvalue type, and anullinitial value.- Parameters:
realm- the realm
-
WritableValue
Constructs a new instance.- Parameters:
realm- the realminitialValue- can benullvalueType- can benull
-
-
Method Details
-
doGetValue
- Specified by:
doGetValuein classAbstractObservableValue<T>
-
doSetValue
Description copied from class:AbstractObservableValueTemplate method for setting the value of the observable. By default the method throws anUnsupportedOperationException.- Overrides:
doSetValuein classAbstractObservableValue<T>- Parameters:
value- The value to set.
-
getValueType
Description copied from interface:IObservableValueThe value type of this observable value, ornullif this observable value is untyped.- Returns:
- the value type, or
null
-
withValueType
- Type Parameters:
T2- the type of observed value of the created instance- Parameters:
elementType- can benull- Returns:
- new instance with the default realm and a value of
null
-
addListener
- Parameters:
listenerType- arbitrary object to identify a type of the listenerlistener- the listener to add; notnull
-
removeListener
- Parameters:
listenerType- arbitrary object to identify a type of the listenerlistener- the listener to remove; notnull
-
hasListeners
protected boolean hasListeners() -
fireEvent
-
firstListenerAdded
protected void firstListenerAdded() -
lastListenerRemoved
protected void lastListenerRemoved() -
getRealm
- Returns:
- Returns the realm.
-
clone
- Overrides:
clonein classObject- Throws:
CloneNotSupportedException
-