# Package org.eclipse.gef.common.collections

This package augments the JavaFX collections API with support for `SetMultimap` and `Multiset`.

Interface Summary
MultisetChangeListener<E>: A `MultisetChangeListener` is the notification target for changes related to an `ObservableMultiset`.
ObservableMultiset<E>: An `ObservableMultiset` is a specific `Multiset` that allows observers to track changes by registering `MultisetChangeListeners`.
ObservableSetMultimap<K,​V>: An `ObservableSetMultimap` is a specific `SetMultimap` that allows observers to track changes by registering `SetMultimapChangeListeners`.
SetMultimapChangeListener<K,​V>: A `SetMultimapChangeListener` is the notification target for changes related to an `ObservableSetMultimap`.

Class Summary
CollectionUtils: The `CollectionUtils` contains a method to compute the old value of an `ObservableList` for a given `ListChangeListener.Change` event.
ListListenerHelperEx<E>: A utility class to support change notifications for an `ObservableList` , replacing the JavaFX-internal `ListChangeListener` helper class.
ListListenerHelperEx.AtomicChange<E>: A simple implementation of an `ListChangeListener.Change`.
ListListenerHelperEx.ElementarySubChange<E>: An abstract elementary change of an `ObservableList`
MapListenerHelperEx<K,​V>: A utility class to support change notifications for an `ObservableMap` , replacing the JavaFX-internal `MapChangeListener` helper class.
MapListenerHelperEx.AtomicChange<K,​V>: A simple implementation of an `MapChangeListener.Change`.
MultisetChangeListener.Change<E>: Represents an atomic change done to an `ObservableMultiset`, i.e. a change resulting from a single method invocation on an `ObservableMultiset`.
MultisetListenerHelper<E>: A utility class to support change notifications for an `ObservableMultiset`.
MultisetListenerHelper.AtomicChange<E>: A simple implementation of an `MultisetChangeListener.Change`.
MultisetListenerHelper.ElementarySubChange<E>: An elementary change related to a single element of a `Multiset`.
SetListenerHelperEx<E>: A utility class to support change notifications for an `ObservableSet` , replacing the JavaFX-internal `SetChangeListener` helper class.
SetListenerHelperEx.AtomicChange<E>: A simple implementation of an `SetChangeListener.Change`.
SetMultimapChangeListener.Change<K,​V>: Represents an elementary change done to an `ObservableSetMultimap`, related to a single key but to potentially multiple values.
SetMultimapListenerHelper<K,​V>: A utility class to support change notifications for an `ObservableSetMultimap`.
SetMultimapListenerHelper.AtomicChange<K,​V>: A simple implementation of an `SetMultimapChangeListener.Change`.
SetMultimapListenerHelper.ElementarySubChange<K,​V>: An elementary change related to a single key of a `ObservableSetMultimap`. .

Enum Summary
ListListenerHelperEx.ElementarySubChange.Kind: The kind of change that is performed to the `ObservableList`.