org.eclipse.gef.common.beans.property

## Class ReadOnlyMultisetPropertyBase<E>

- java.lang.Object
- - org.eclipse.gef.common.beans.binding.MultisetExpression<E>
  - - org.eclipse.gef.common.beans.property.ReadOnlyMultisetProperty<E>
    - - org.eclipse.gef.common.beans.property.ReadOnlyMultisetPropertyBase<E>

Type Parameters:
  `E` - The element type of the `ObservableMultiset`.

All Implemented Interfaces:
  Multiset<E>, java.lang.Iterable<E>, java.util.Collection<E>, javafx.beans.Observable, javafx.beans.property.ReadOnlyProperty<ObservableMultiset<E>>, javafx.beans.value.ObservableObjectValue<ObservableMultiset<E>>, javafx.beans.value.ObservableValue<ObservableMultiset<E>>, ObservableMultisetValue<E>, ObservableMultiset<E>

    public abstract class ReadOnlyMultisetPropertyBase<E>
    extends ReadOnlyMultisetProperty<E>

Abstract base class for implementing a read-only `Property` wrapping an `ObservableMultiset`.

This class provides identical functionality for `Multiset` as `ReadOnlyMapPropertyBase` for `Map`, `ReadOnlySetPropertyBase` for `Set`, or `ReadOnlyListPropertyBase` for `List`.

### Property Summary

### Properties inherited from class org.eclipse.gef.common.beans.binding.MultisetExpression

`empty, size`

### Nested Class Summary

### Nested classes/interfaces inherited from interface com.google.common.collect.Multiset

`Multiset.Entry<E>`

### Constructor Summary

Constructors
Constructor and Description
`ReadOnlyMultisetPropertyBase()`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addListener(javafx.beans.value.ChangeListener<? super ObservableMultiset<E>> listener)`
`void` `addListener(javafx.beans.InvalidationListener listener)`
`void` `addListener(MultisetChangeListener<? super E> listener)` Adds a `MultisetChangeListener` to this `ObservableMultiset`.
`protected void` `fireValueChangedEvent()` Fires notifications to all attached `InvalidationListeners`, `ChangeListeners`, and `MultisetChangeListeners`.
`protected void` `fireValueChangedEvent(MultisetChangeListener.Change<? extends E> change)` Fires notifications to all attached `InvalidationListeners`, `ChangeListeners`, and `MultisetChangeListeners`.
`void` `removeListener(javafx.beans.value.ChangeListener<? super ObservableMultiset<E>> listener)`
`void` `removeListener(javafx.beans.InvalidationListener listener)`
`void` `removeListener(MultisetChangeListener<? super E> listener)` Removes a `MultisetChangeListener` from this `ObservableMultiset`.

### Methods inherited from class org.eclipse.gef.common.beans.property.ReadOnlyMultisetProperty

`appendValueToString, bindContent, bindContentBidirectional, equals, hashCode, toString, unbindContent, unbindContentBidirectional`

### Methods inherited from class org.eclipse.gef.common.beans.binding.MultisetExpression

`add, add, addAll, asString, clear, contains, containsAll, count, elementSet, emptyProperty, entrySet, getValue, isEmpty, isEqualTo, isNotEqualTo, isNotNull, isNull, iterator, multisetExpression, remove, remove, removeAll, replaceAll, retainAll, setCount, setCount, size, sizeProperty, toArray, toArray`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface javafx.beans.property.ReadOnlyProperty

`getBean, getName`

### Methods inherited from interface javafx.beans.value.ObservableValue

`getValue`

### Methods inherited from interface javafx.beans.value.ObservableObjectValue

`get`

### Methods inherited from interface com.google.common.collect.Multiset

`forEach, forEachEntry, spliterator`

### Methods inherited from interface java.util.Collection

`parallelStream, removeIf, stream`

### Constructor Detail

#### ReadOnlyMultisetPropertyBase

    public ReadOnlyMultisetPropertyBase()

### Method Detail

#### addListener

    public void addListener(javafx.beans.value.ChangeListener<? super ObservableMultiset<E>> listener)

#### removeListener

    public void removeListener(javafx.beans.value.ChangeListener<? super ObservableMultiset<E>> listener)

#### addListener

    public void addListener(javafx.beans.InvalidationListener listener)

#### removeListener

    public void removeListener(javafx.beans.InvalidationListener listener)

#### addListener

    public void addListener(MultisetChangeListener<? super E> listener)

Description copied from interface: `ObservableMultiset`
Adds a `MultisetChangeListener` to this `ObservableMultiset`. If the same listener is registered more than once, it will be notified more than once.

Parameters:
  `listener` - The `MultisetChangeListener` to add.

#### removeListener

    public void removeListener(MultisetChangeListener<? super E> listener)

Description copied from interface: `ObservableMultiset`
Removes a `MultisetChangeListener` from this `ObservableMultiset`. Will do nothing if the listener was not attached to this `ObservableMultiset`. If it was added more than once, then only the first occurrence will be removed.

Parameters:
  `listener` - The `MultisetChangeListener` to remove.

#### fireValueChangedEvent

    protected void fireValueChangedEvent()

Fires notifications to all attached `InvalidationListeners`, `ChangeListeners`, and `MultisetChangeListeners`.

#### fireValueChangedEvent

    protected void fireValueChangedEvent(MultisetChangeListener.Change<? extends E> change)

Fires notifications to all attached `InvalidationListeners`, `ChangeListeners`, and `MultisetChangeListeners`.

Parameters:
  `change` - the change that needs to be propagated