org.eclipse.gef.common.beans.property

## Class SetMultimapPropertyBase<K,V>

- java.lang.Object
- - org.eclipse.gef.common.beans.binding.SetMultimapExpression<K,V>
  - - org.eclipse.gef.common.beans.property.ReadOnlySetMultimapProperty<K,V>
    - - org.eclipse.gef.common.beans.property.SetMultimapProperty<K,V>
      - - org.eclipse.gef.common.beans.property.SetMultimapPropertyBase<K,V>

Type Parameters:
  `K` - The key type of the wrapped `ObservableSetMultimap`.
  `V` - The value type of the wrapped `ObservableSetMultimap`.

All Implemented Interfaces:
  Multimap<K,V>, SetMultimap<K,V>, javafx.beans.Observable, javafx.beans.property.Property<ObservableSetMultimap<K,V>>, javafx.beans.property.ReadOnlyProperty<ObservableSetMultimap<K,V>>, javafx.beans.value.ObservableObjectValue<ObservableSetMultimap<K,V>>, javafx.beans.value.ObservableValue<ObservableSetMultimap<K,V>>, javafx.beans.value.WritableObjectValue<ObservableSetMultimap<K,V>>, javafx.beans.value.WritableValue<ObservableSetMultimap<K,V>>, ObservableSetMultimapValue<K,V>, WritableSetMultimapValue<K,V>, ObservableSetMultimap<K,V>

Direct Known Subclasses:
  SimpleSetMultimapProperty

    public abstract class SetMultimapPropertyBase<K,V>
    extends SetMultimapProperty<K,V>

Abstract base class for implementing a `Property` wrapping an `ObservableSetMultimap`.

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

### Property Summary

All Methods Instance Methods Concrete Methods
`javafx.beans.property.ReadOnlyBooleanProperty` `empty` A boolean property that reflects whether the `SetMultimap` is empty.
`javafx.beans.property.ReadOnlyIntegerProperty` `size` An integer property that represents the size of the `SetMultimap`.

### Constructor Summary

Constructors
Constructor and Description
`SetMultimapPropertyBase()` Creates a new `SetMultimapPropertyBase` with no initial value.
`SetMultimapPropertyBase(ObservableSetMultimap<K,V> initialValue)` Creates a new `SetMultimapPropertyBase` with the given `ObservableSetMultimap` as initial value.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addListener(javafx.beans.value.ChangeListener<? super ObservableSetMultimap<K,V>> listener)`
`void` `addListener(javafx.beans.InvalidationListener listener)`
`void` `addListener(SetMultimapChangeListener<? super K,? super V> listener)` Adds a `SetMultimapChangeListener` to this `ObservableSetMultimap`.
`protected void` `appendValueToString(java.lang.StringBuilder result)` Appends a representation of this `SetMultimapProperty`'s value to the given `StringBuilder`.
`void` `bind(javafx.beans.value.ObservableValue<? extends ObservableSetMultimap<K,V>> observedValue)`
`javafx.beans.property.ReadOnlyBooleanProperty` `emptyProperty()` A boolean property that reflects whether the `SetMultimap` is empty.
`protected void` `fireValueChangedEvent()` Fires notifications to all attached `InvalidationListeners`, `ChangeListeners`, and `SetMultimapChangeListeners`.
`protected void` `fireValueChangedEvent(SetMultimapChangeListener.Change<? extends K,? extends V> change)` Fires notifications to all attached `InvalidationListeners`, `ChangeListeners`, and `SetMultimapChangeListeners`.
`ObservableSetMultimap<K,V>` `get()`
`protected void` `invalidated()` Can be overwritten by subclasses to receive invalidation notifications.
`boolean` `isBound()`
`void` `removeListener(javafx.beans.value.ChangeListener<? super ObservableSetMultimap<K,V>> listener)`
`void` `removeListener(javafx.beans.InvalidationListener listener)`
`void` `removeListener(SetMultimapChangeListener<? super K,? super V> listener)` Removes a `SetMultimapChangeListener` from this `ObservableSetMultimap`.
`void` `set(ObservableSetMultimap<K,V> newValue)`
`javafx.beans.property.ReadOnlyIntegerProperty` `sizeProperty()` An integer property that represents the size of the `SetMultimap`.
`void` `unbind()`

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

`bindBidirectional, setValue, unbindBidirectional`

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

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

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

`asMap, asString, clear, containsEntry, containsKey, containsValue, entries, get, getValue, isEmpty, isEqualTo, isNotEqualTo, isNotNull, isNull, keys, keySet, put, putAll, putAll, remove, removeAll, replaceAll, replaceValues, setMultimapExpression, size, values, valuesAt, valuesAt`

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

`getValue`

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

`replaceAll`

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

`asMap, entries, equals, get, removeAll, replaceValues`

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

`clear, containsEntry, containsKey, containsValue, forEach, hashCode, isEmpty, keys, keySet, put, putAll, putAll, remove, size, values`

### Property Detail

#### empty

    public javafx.beans.property.ReadOnlyBooleanProperty emptyProperty

Specified by:
  `emptyProperty` in class `SetMultimapExpression<K,V>`
See Also:
  `SetMultimapExpression.isEmpty()`

#### size

    public javafx.beans.property.ReadOnlyIntegerProperty sizeProperty

Specified by:
  `sizeProperty` in class `SetMultimapExpression<K,V>`

### Constructor Detail

#### SetMultimapPropertyBase

    public SetMultimapPropertyBase()

Creates a new `SetMultimapPropertyBase` with no initial value.

#### SetMultimapPropertyBase

    public SetMultimapPropertyBase(ObservableSetMultimap<K,V> initialValue)

Creates a new `SetMultimapPropertyBase` with the given `ObservableSetMultimap` as initial value.

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

### Method Detail

#### addListener

    public void addListener(javafx.beans.value.ChangeListener<? super ObservableSetMultimap<K,V>> listener)

#### addListener

    public void addListener(javafx.beans.InvalidationListener listener)

#### addListener

    public void addListener(SetMultimapChangeListener<? super K,? super V> listener)

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

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

#### appendValueToString

    protected void appendValueToString(java.lang.StringBuilder result)

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

Overrides:
  `appendValueToString` in class `ReadOnlySetMultimapProperty<K,V>`
Parameters:
  `result` - A `StringBuilder` to append the value representation to.

#### bind

    public void bind(javafx.beans.value.ObservableValue<? extends ObservableSetMultimap<K,V>> observedValue)

#### emptyProperty

    public javafx.beans.property.ReadOnlyBooleanProperty emptyProperty()

Description copied from class: `SetMultimapExpression`
A boolean property that reflects whether the `SetMultimap` is empty.

Specified by:
  `emptyProperty` in class `SetMultimapExpression<K,V>`
See Also:
  `SetMultimapExpression.isEmpty()`

#### fireValueChangedEvent

    protected void fireValueChangedEvent()

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

#### fireValueChangedEvent

    protected void fireValueChangedEvent(SetMultimapChangeListener.Change<? extends K,? extends V> change)

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

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

#### get

    public ObservableSetMultimap<K,V> 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 ObservableSetMultimap<K,V>> listener)

#### removeListener

    public void removeListener(javafx.beans.InvalidationListener listener)

#### removeListener

    public void removeListener(SetMultimapChangeListener<? super K,? super V> listener)

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

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

#### set

    public void set(ObservableSetMultimap<K,V> newValue)

#### sizeProperty

    public javafx.beans.property.ReadOnlyIntegerProperty sizeProperty()

Description copied from class: `SetMultimapExpression`
An integer property that represents the size of the `SetMultimap`.

Specified by:
  `sizeProperty` in class `SetMultimapExpression<K,V>`

#### unbind

    public void unbind()