LazyCompute<K, V>
Reactive function that is computed lazily and memoized.
Context.createLazyCollection accepts a constructor function of a top-level class that implements this LazyCompute interface.
Each implementation of LazyCompute provides a compute function, which produces values for some key, possibly using a self reference to get/produce other lazily-computed results.
Type Parameters
| Type Parameter | Description |
|---|---|
K extends Json | Type of keys / inputs. |
V extends Json | Type of values / outputs. |
Methods
compute()
compute(
self,
key,
context): Iterable<V>
Compute the values of the lazy function for a given key.
When computing the values for a requested key, the compute function is provided with a LazyCollection that is tabulating the input-output relation of this function.
This collection can be queried in order to look up the values for previously computed keys, or to make a recursive call to compute if the requested key has not yet been computed.
Parameters
| Parameter | Type | Description |
|---|---|---|
self | LazyCollection<K, V> | The collection tabulating this lazy function. |
key | K | The requested key / input. |
context | Context | - |
Returns
Iterable<V>
The values of the lazy function for key.