org.eclipse.core.databinding.observable.value

## Class DecoratingVetoableValue<T>

- java.lang.Object
- - org.eclipse.core.databinding.observable.AbstractObservable
  - - org.eclipse.core.databinding.observable.DecoratingObservable
    - - org.eclipse.core.databinding.observable.value.DecoratingObservableValue<T>
      - - org.eclipse.core.databinding.observable.value.DecoratingVetoableValue<T>

Type Parameters:
  `T` - the type of value being observed

All Implemented Interfaces:
  IDecoratingObservable, IObservable, IObservableValue<T>, IVetoableValue<T>

    public class DecoratingVetoableValue<T>
    extends DecoratingObservableValue<T>
    implements IVetoableValue<T>

An `IVetoableValue` decorator for an observable value.

Since:
  1.2

### Constructor Summary

Constructors
Constructor and Description
`DecoratingVetoableValue(IObservableValue<T> decorated, boolean disposeDecoratedOnDispose)`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected void` `addListener(Object listenerType, IObservablesListener listener)`
`void` `addValueChangingListener(IValueChangingListener<T> listener)`
`protected Object` `clone()`
`protected void` `fireEvent(ObservableEvent event)`
`protected boolean` `fireValueChanging(ValueDiff<T> diff)` Notifies listeners about a pending change, and returns true if no listener vetoed the change.
`Realm` `getRealm()`
`protected boolean` `hasListeners()`
`protected void` `removeListener(Object listenerType, IObservablesListener listener)`
`void` `removeValueChangingListener(IValueChangingListener<T> listener)`
`void` `setValue(T value)` Sets the value.

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

`addValueChangeListener, dispose, fireChange, fireValueChange, firstListenerAdded, getValue, getValueType, handleValueChange, lastListenerRemoved, removeValueChangeListener`

### Methods inherited from class org.eclipse.core.databinding.observable.DecoratingObservable

`equals, getDecorated, getterCalled, handleStaleEvent, hashCode, isStale`

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

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

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

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

### Methods inherited from interface org.eclipse.core.databinding.observable.value.IObservableValue

`addValueChangeListener, getValue, getValueType, removeValueChangeListener`

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

`addChangeListener, addDisposeListener, addStaleListener, dispose, getRealm, isDisposed, isStale, removeChangeListener, removeDisposeListener, removeStaleListener`

### Constructor Detail

#### DecoratingVetoableValue

    public DecoratingVetoableValue(IObservableValue<T> decorated,
                                   boolean disposeDecoratedOnDispose)

Parameters:
  `decorated` -
  `disposeDecoratedOnDispose` -

### Method Detail

#### setValue

    public void setValue(T value)

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

Specified by:
  `setValue` in interface `IObservableValue<T>`
Overrides:
  `setValue` in class `DecoratingObservableValue<T>`
Parameters:
  `value` - the value to set

#### addValueChangingListener

    public void addValueChangingListener(IValueChangingListener<T> listener)

Specified by:
  `addValueChangingListener` in interface `IVetoableValue<T>`

#### removeValueChangingListener

    public void removeValueChangingListener(IValueChangingListener<T> listener)

Specified by:
  `removeValueChangingListener` in interface `IVetoableValue<T>`

#### fireValueChanging

    protected boolean fireValueChanging(ValueDiff<T> diff)

Notifies listeners about a pending change, and returns true if no listener vetoed the change.

Parameters:
  `diff` -
Returns:
  false if the change was vetoed, true otherwise

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

#### getRealm

    public Realm getRealm()

Returns:
  Returns the realm.

#### clone

    protected Object clone()
                    throws CloneNotSupportedException

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