Interface ObservableValue<V>

Type Parameters:
V - type of the observable value.
All Superinterfaces:
EventSource<ObservableEvent<V>,ObservableEventListener<? super V>>, ReadableValue<V>, Supplier<V>
All Known Subinterfaces:
BigDecimalExpression, BigIntegerExpression, BooleanExpression, ByteExpression, ComparableExpression<V>, DoubleExpression, DurationExpression, Expression<V>, FloatExpression, InstantExpression, IntegerExpression, LocalDateExpression, LocalDateTimeExpression, LocalTimeExpression, LongExpression, NumberExpression<N>, ObservableBigDecimalValue, ObservableBigIntegerValue, ObservableBooleanValue, ObservableByteValue, ObservableCollectionValue<C,E>, ObservableContainerValue<C,E>, ObservableDoubleValue, ObservableDurationValue, ObservableFloatValue, ObservableInstantValue, ObservableIntegerValue, ObservableListValue<E>, ObservableLocalDateTimeValue, ObservableLocalDateValue, ObservableLocalTimeValue, ObservableLongValue, ObservableMapValue<K,V>, ObservableNumberValue<N>, ObservableObjectValue<V>, ObservableOffsetDateTimeValue, ObservableOffsetTimeValue, ObservablePatternValue, ObservableSetValue<E>, ObservableShortValue, ObservableSimpleValue<V>, ObservableStringValue, ObservableTemporalAmountValue<V>, ObservableTemporalValue<V>, ObservableZonedDateTimeValue, OffsetDateTimeExpression, OffsetTimeExpression, PatternExpression, ShortExpression, StringExpression, TemporalAmountExpression<V>, TemporalExpression<V>, WritableObservableValue<V>, ZonedDateTimeExpression
All Known Implementing Classes:
AbstractObservableValue, AbstractWritableObservableValue, BigDecimalBinding, BigIntegerBinding, Binding, BooleanBinding, ByteBinding, DoubleBinding, DurationBinding, FloatBinding, InstantBinding, IntegerBinding, LocalDateBinding, LocalDateTimeBinding, LocalTimeBinding, LongBinding, NumberBinding, OffsetDateTimeBinding, OffsetDateTimeBinding, PatternBinding, ShortBinding, StringBinding, ZonedDateTimeBinding

public interface ObservableValue<V> extends ReadableValue<V>, EventSource<ObservableEvent<V>,ObservableEventListener<? super V>>
An ObservableValue wraps a value and allows to observe the value for changes. In general this interface should not be implemented directly but one of its sub-interfaces.

The value of the ObservableValue can be requested with ReadableValue.get().

An implementation of ObservableValue may support lazy evaluation, which means that the value is not immediately recomputed after changes, but lazily the next time the value is requested. All bindings and properties in this library support lazy evaluation.

An ObservableValue generates change events. A change event indicates that the value has changed.

Since:
1.0.0