Reactive lazy evaluation (memoization)

Hookless » Adapters » Lazy

ReactiveLazy is a reactive adapter that implements lazy evaluation (or memoization) while preserving reactivity, i.e. ability to respond to change. ReactiveLazy computes its value upon first read by calling its Supplier and then keeps returning the same cached value. The difference from non-reactive implementations is that ReactiveLazy will reset itself to uninitialized state when dependencies change. When this happens, dependent reactive computations are woken up, so that they can request new value. ReactiveLazy is a reactive intermediary. It can be used as a single-value reactive cache.

Download

ReactiveLazy is included in core library.

Documentation

See the ReactiveLazy class in javadoc. Since the javadoc is not complete yet, you might want to take a look at comments and implementation in ReactiveLazy.java.