Package org.eclipse.gef.common.beans.property

# Class MultisetPropertyBase<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.MultisetProperty<E>
org.eclipse.gef.common.beans.property.MultisetPropertyBase<E>

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

All Implemented Interfaces:
  `Multiset<E>`, `Iterable<E>`, `Collection<E>`, `javafx.beans.Observable`, `javafx.beans.property.Property<ObservableMultiset<E>>`, `javafx.beans.property.ReadOnlyProperty<ObservableMultiset<E>>`, `javafx.beans.value.ObservableObjectValue<ObservableMultiset<E>>`, `javafx.beans.value.ObservableValue<ObservableMultiset<E>>`, `javafx.beans.value.WritableObjectValue<ObservableMultiset<E>>`, `javafx.beans.value.WritableValue<ObservableMultiset<E>>`, `ObservableMultisetValue<E>`, `WritableMultisetValue<E>`, `ObservableMultiset<E>`

Direct Known Subclasses:
  `SimpleMultisetProperty`

public abstract class MultisetPropertyBase<E> extends MultisetProperty<E>
Abstract base class for implementing a `Property` wrapping an `ObservableMultiset`.

This class provides identical functionality for `Multiset` as `MapPropertyBase` for `Map`, `SetPropertyBase` for `Set`, or `ListPropertyBase` for `List`.

## Property Summary

Properties
Type
Property
Description
`javafx.beans.property.ReadOnlyBooleanProperty`
`empty`
A boolean property that reflects whether the `Multiset` is empty.
`javafx.beans.property.ReadOnlyIntegerProperty`
`size`
An integer property that represents the size of the `Multiset`.

## Nested Class Summary

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

`Multiset.Entry<E extends Object>`

## Constructor Summary

Constructors
Constructor
Description
`MultisetPropertyBase()`
Creates a new `MultisetPropertyBase` with no initial value.
`MultisetPropertyBase(ObservableMultiset<E> initialValue)`
Creates a new `MultisetPropertyBase` with the given `ObservableMultiset` as initial value.

## Method Summary

Modifier and Type
Method
Description
`void`
`addListener(javafx.beans.InvalidationListener listener)`
`void`
`addListener(javafx.beans.value.ChangeListener<? super ObservableMultiset<E>> listener)`
`void`
`addListener(MultisetChangeListener<? super E> listener)`
Adds a `MultisetChangeListener` to this `ObservableMultiset`.
`protected void`
`appendValueToString(StringBuilder result)`
Appends a representation of this `SetMultimapProperty`'s value to the given `StringBuilder`.
`void`
`bind(javafx.beans.value.ObservableValue<? extends ObservableMultiset<E>> observedValue)`
`javafx.beans.property.ReadOnlyBooleanProperty`
`emptyProperty()`
A boolean property that reflects whether the `Multiset` is empty.
`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`.
`ObservableMultiset<E>`
`get()`
`protected void`
`invalidated()`
Can be overwritten by subclasses to receive invalidation notifications.
`boolean`
`isBound()`
`void`
`removeListener(javafx.beans.InvalidationListener listener)`
`void`
`removeListener(javafx.beans.value.ChangeListener<? super ObservableMultiset<E>> listener)`
`void`
`removeListener(MultisetChangeListener<? super E> listener)`
Removes a `MultisetChangeListener` from this `ObservableMultiset`.
`void`
`set(ObservableMultiset<E> newValue)`
`javafx.beans.property.ReadOnlyIntegerProperty`
`sizeProperty()`
An integer property that represents the size of the `Multiset`.
`void`
`unbind()`

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

`bindBidirectional, setValue, unbindBidirectional`

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

`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, entrySet, getValue, isEmpty, isEqualTo, isNotEqualTo, isNotNull, isNull, iterator, multisetExpression, remove, remove, removeAll, replaceAll, retainAll, setCount, setCount, size, toArray, toArray`

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

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

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

`addAll, clear, isEmpty, parallelStream, removeIf, stream, toArray, toArray, toArray`

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

`add, add, contains, containsAll, count, elementSet, entrySet, equals, forEach, forEachEntry, hashCode, iterator, remove, remove, removeAll, retainAll, setCount, setCount, size, spliterator, toString`

### Methods inherited from interface org.eclipse.gef.common.collections.ObservableMultiset

`replaceAll`

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

`getValue`

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

`getBean, getName`

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

`getValue`

## Property Details

### empty

public javafx.beans.property.ReadOnlyBooleanProperty emptyProperty

Specified by:
  `emptyProperty` in class `MultisetExpression<E>`
See Also:
  - `MultisetExpression.isEmpty()`

### size

public javafx.beans.property.ReadOnlyIntegerProperty sizeProperty

Specified by:
  `sizeProperty` in class `MultisetExpression<E>`

## Constructor Details

### MultisetPropertyBase

public MultisetPropertyBase()
Creates a new `MultisetPropertyBase` with no initial value.

### MultisetPropertyBase

public MultisetPropertyBase(ObservableMultiset<E> initialValue)
Creates a new `MultisetPropertyBase` with the given `ObservableMultiset` as initial value.

Parameters:
  `initialValue` - The initial value of the to be created `MultisetPropertyBase`.

## Method Details

### addListener

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

### addListener

public void addListener(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.

### appendValueToString

protected void appendValueToString(StringBuilder result)
Description copied from class: `ReadOnlyMultisetProperty`
Appends a representation of this `SetMultimapProperty`'s value to the given `StringBuilder`. Gets called from `ReadOnlyMultisetProperty.toString()` to allow subclasses to provide a changed value representation.

Overrides:
  `appendValueToString` in class `ReadOnlyMultisetProperty<E>`
Parameters:
  `result` - A `StringBuilder` to append the value representation to.

### bind

public void bind(javafx.beans.value.ObservableValue<? extends ObservableMultiset<E>> observedValue)

### emptyProperty

public javafx.beans.property.ReadOnlyBooleanProperty emptyProperty()
Description copied from class: `MultisetExpression`
A boolean property that reflects whether the `Multiset` is empty.

Specified by:
  `emptyProperty` in class `MultisetExpression<E>`
See Also:
  - `MultisetExpression.isEmpty()`

### 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

### get

public ObservableMultiset<E> get()

### invalidated

protected void invalidated()
Can be overwritten by subclasses to receive invalidation notifications. Does nothing by default.

### isBound

public boolean isBound()

### removeListener

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

### removeListener

public void removeListener(javafx.beans.InvalidationListener listener)

### 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.

### set

public void set(ObservableMultiset<E> newValue)

### sizeProperty

public javafx.beans.property.ReadOnlyIntegerProperty sizeProperty()
Description copied from class: `MultisetExpression`
An integer property that represents the size of the `Multiset`.

Specified by:
  `sizeProperty` in class `MultisetExpression<E>`

### unbind

public void unbind()