# Package net.corda.client.jfx.utils

- Class Summary
  Class | Description
  --- | ---
  AggregatedList<A,E,K> | Given an ObservableList and a grouping key K, `class AggregatedList` groups the elements by the key into a fresh ObservableList for each group and exposes the groups as an observable list of As by calling assemble on each.
  AmountBindings | Utility bindings for the `class Amount` type, similar in spirit to Bindings
  AssociatedList<K,A,B> | `class AssociatedList` creates an ObservableMap from an ObservableList by associating each list element with a unique key. It is not allowed to have several elements map to the same value!
  ChosenList<E> | `class ChosenList` manages an ObservableList that may be changed by the wrapping ObservableValue. Whenever the underlying ObservableValue changes the exposed list changes to the new value. Changes to the list are simply propagated.
  ConcatenatedList<A> | `class ConcatenatedList` takes a list of lists and concatenates them. Any change to the underlying lists or the outer list is propagated as expected.
  FlattenedList<A> | `class FlattenedList` flattens the passed in list of ObservableValues so that changes in individual updates to the values are reflected in the exposed list as expected.
  LeftOuterJoinedMap<K,A,B,C> | `class LeftOuterJoinedMap` implements a special case of a left outer join where we're matching on primary keys of both tables.
  MapValuesList<K,A,C> | `class MapValuesList` takes an ObservableMap and returns its values as an ObservableList. The order of returned elements is deterministic but unspecified.
  MappedList<A,B> | This is a variant of EasyBind.map where the mapped list is backed, therefore the mapping function will only be run when an element is inserted or updated. Use this instead of EasyBind.map to trade off memory vs CPU, or if (god forbid) the mapped function is side-effecting.
  ObservableFoldKt |
  ObservableUtilitiesKt |
  ReadOnlyBackedObservableMapBase<K,A,B> | `class ReadOnlyBackedObservableMapBase` is a base class implementing all abstract functions required for an ObservableMap using a backing HashMap that subclasses should modify.
  ReadOnlyBackedObservableMapBaseKt |
  ReplayedList<A> | This list type just replays changes propagated from the underlying source list. Used for testing changes and backing a non-backed observable