Class AbstractVetoableValue<T>
java.lang.Object
org.eclipse.core.databinding.observable.AbstractObservable
org.eclipse.core.databinding.observable.value.AbstractObservableValue<T>
org.eclipse.core.databinding.observable.value.AbstractVetoableValue<T>
- Type Parameters:
T- the type of value being observed
- All Implemented Interfaces:
IObservable,IObservableValue<T>,IVetoableValue<T>
public abstract class AbstractVetoableValue<T>
extends AbstractObservableValue<T>
implements IVetoableValue<T>
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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddListener(Object listenerType, IObservablesListener listener) voidaddValueChangingListener(IValueChangingListener<T> listener) protected Objectclone()protected abstract voiddoSetApprovedValue(T value) Sets the value.protected final voiddoSetValue(T value) Template method for setting the value of the observable.protected voidfireEvent(ObservableEvent event) protected booleanfireValueChanging(ValueDiff<T> diff) Notifies listeners about a pending change, and returns true if no listener vetoed the change.protected voidgetRealm()protected booleanprotected voidprotected voidremoveListener(Object listenerType, IObservablesListener listener) voidremoveValueChangingListener(IValueChangingListener<T> listener) Methods inherited from class org.eclipse.core.databinding.observable.value.AbstractObservableValue
addValueChangeListener, doGetValue, 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, isStale, removeChangeListener, removeDisposeListener, removeStaleListenerMethods inherited from interface org.eclipse.core.databinding.observable.value.IObservableValue
addValueChangeListener, getValue, getValueType, removeValueChangeListener, setValue
-
Constructor Details
-
AbstractVetoableValue
public AbstractVetoableValue()Creates a new vetoable value. -
AbstractVetoableValue
- Parameters:
realm- the realm
-
-
Method Details
-
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
-
doSetApprovedValue
Sets the value. Invoked after performing veto checks. Should not fire change events.- Parameters:
value- the approved value to set
-
addValueChangingListener
- Specified by:
addValueChangingListenerin interfaceIVetoableValue<T>- Parameters:
listener- the listener to add; notnull
-
removeValueChangingListener
- Specified by:
removeValueChangingListenerin interfaceIVetoableValue<T>- Parameters:
listener- the listener to remove; notnull
-
fireValueChanging
Notifies listeners about a pending change, and returns true if no listener vetoed the change.- Parameters:
diff- the pending change- Returns:
- false if the change was vetoed, true otherwise
-
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
-