/** * {@link IObservableValue} implementation that wraps an * {@link IObservableValue} and delays notification of value change events from * the wrapped observable value until a certain time has passed since the last * change event. This class helps to boost performance in bindings (both in * validation and in event firing) when the observed value is rapidly changing. * A common use of this class is to delay validation until the user stops typing * in an UI field. To notify about pending changes, a DelayedObservableValue * fires a stale event when the wrapped observable value fires a change event, * and remains stale as long as a value change is pending. * * Note that this class will not forward {@link ValueChangingEvent} events from * a wrapped {@link IVetoableValue}. * * @since 1.2 */ |