org.eclipse.wst.jsdt.chromium.debug.ui

## Class DialogUtils.ExpressionProcessor<T>

- java.lang.Object
- - org.eclipse.wst.jsdt.chromium.debug.ui.DialogUtils.ValueProcessor<DialogUtils.Optional<T>>
  - - org.eclipse.wst.jsdt.chromium.debug.ui.DialogUtils.ExpressionProcessor<T>

All Implemented Interfaces:
  DialogUtils.Gettable<DialogUtils.Optional<T>>, DialogUtils.ValueConsumer, DialogUtils.ValueSource<DialogUtils.Optional<T>>

Enclosing class:
  DialogUtils

    public abstract static class DialogUtils.ExpressionProcessor<T>
    extends DialogUtils.ValueProcessor<DialogUtils.Optional<T>>

A base class for the source-consumer pair that accepts several values as a consumer, performs a calculation over them and gives it away the result via source interface. Some sources may be of Optional type. If any of sources has error value the corresponding error value is returned automatically.

The implementation should override a single method `calculateNormal()`.

### Constructor Summary

Constructors
Constructor and Description
`ExpressionProcessor(java.util.List<DialogUtils.ValueSource<? extends DialogUtils.Optional<?>>> optionalSources)`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`protected abstract DialogUtils.Optional<T>` `calculateNormal()`
`void` `update(DialogUtils.Updater updater)` Called by updater when some linked sources have changed and it's time this vertex got updated.

### Methods inherited from class org.eclipse.wst.jsdt.chromium.debug.ui.DialogUtils.ValueProcessor

`getValue, setCurrentValue`

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

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ExpressionProcessor

    public ExpressionProcessor(java.util.List<DialogUtils.ValueSource<? extends DialogUtils.Optional<?>>> optionalSources)

### Method Detail

#### calculateNormal

    protected abstract DialogUtils.Optional<T> calculateNormal()

#### update

    public void update(DialogUtils.Updater updater)

Description copied from interface: `DialogUtils.ValueConsumer`
Called by updater when some linked sources have changed and it's time this vertex got updated. `DialogUtils.Updater.reportChanged(org.eclipse.wst.jsdt.chromium.debug.ui.DialogUtils.ValueSource<?>)` may be called if some s have changed during this update (but this should not break topological order of the graph).