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

## Interface DialogUtils.NormalExpression<T>

Type Parameters:
  `T` - type of value this expression returns

Enclosing class:
  DialogUtils

    public static interface DialogUtils.NormalExpression<T>

An expression that gets calculated only when its dependencies are all non-error. The interface contains a "calculate" method and several methods that return expression dependencies.

The one that is using this expression is responsible for reading all sources, checking whether the optional values are normal and calling "calculate" method passing the normal values as arguments.

The interface is reflection-oriented, as you cannot express type schema in plain Java. The client should check the interface for a type-consistency statically on runtime and throw exception if something is wrong. All user types are explicitly declared in signature of methods. This allows accurate type checking via reflection (including generics parameters, which are otherwise erased on runtime).

The interface is reflection-based. It only contains annotation that method should have.

### Nested Class Summary

Nested Classes
`static interface` `DialogUtils.NormalExpression.Calculate` An annotation for a "calculate" method of the interface.
`static interface` `DialogUtils.NormalExpression.DependencyGetter` An annotation for a method that returns expression dependency.