Class MultisetBinding<E>
- java.lang.Object
-
- org.eclipse.gef.common.beans.binding.MultisetExpression<E>
-
- org.eclipse.gef.common.beans.binding.MultisetBinding<E>
-
- Type Parameters:
E
- The element type of theObservableMultiset
.
- All Implemented Interfaces:
Multiset<E>
,java.lang.Iterable<E>
,java.util.Collection<E>
,javafx.beans.binding.Binding<ObservableMultiset<E>>
,javafx.beans.Observable
,javafx.beans.value.ObservableObjectValue<ObservableMultiset<E>>
,javafx.beans.value.ObservableValue<ObservableMultiset<E>>
,ObservableMultisetValue<E>
,ObservableMultiset<E>
public abstract class MultisetBinding<E> extends MultisetExpression<E> implements javafx.beans.binding.Binding<ObservableMultiset<E>>
An abstract base class that provides functionality needed to realize aBinding
on anObservableMultiset
.This class provides identical functionality for
Multiset
asMapBinding
forMap
,SetBinding
forSet
, orListBinding
forList
.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.google.common.collect.Multiset
Multiset.Entry<E extends java.lang.Object>
-
-
Constructor Summary
Constructors Constructor Description MultisetBinding()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods 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 aMultisetChangeListener
to thisObservableMultiset
.protected void
bind(javafx.beans.Observable... dependencies)
Start observing the given dependencies for changes.protected abstract ObservableMultiset<E>
computeValue()
Computes the current value of thisMultisetBinding
.void
dispose()
javafx.beans.property.ReadOnlyBooleanProperty
emptyProperty()
A boolean property that reflects whether theMultiset
is empty.protected void
fireValueChangedEvent()
Fires notifications to all attachedInvalidationListeners
,ChangeListeners
, andSetMultimapChangeListeners
.protected void
fireValueChangedEvent(MultisetChangeListener.Change<? extends E> change)
Fires notifications to all attachedInvalidationListeners
,ChangeListeners
, andMultisetChangeListeners
.ObservableMultiset<E>
get()
javafx.collections.ObservableList<?>
getDependencies()
void
invalidate()
protected void
invalidated()
Can be overwritten by subclasses to receive invalidation notifications.boolean
isValid()
void
removeListener(javafx.beans.InvalidationListener listener)
void
removeListener(javafx.beans.value.ChangeListener<? super ObservableMultiset<E>> listener)
void
removeListener(MultisetChangeListener<? super E> listener)
Removes aMultisetChangeListener
from thisObservableMultiset
.javafx.beans.property.ReadOnlyIntegerProperty
sizeProperty()
An integer property that represents the size of theMultiset
.protected void
unbind(javafx.beans.Observable... dependencies)
Stops observing the dependencies for changes.-
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, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.google.common.collect.Multiset
equals, forEach, forEachEntry, hashCode, spliterator, toString
-
-
-
-
Method Detail
-
addListener
public void addListener(javafx.beans.value.ChangeListener<? super ObservableMultiset<E>> listener)
- Specified by:
addListener
in interfacejavafx.beans.value.ObservableValue<E>
-
addListener
public void addListener(javafx.beans.InvalidationListener listener)
- Specified by:
addListener
in interfacejavafx.beans.Observable
-
addListener
public void addListener(MultisetChangeListener<? super E> listener)
Description copied from interface:ObservableMultiset
Adds aMultisetChangeListener
to thisObservableMultiset
. If the same listener is registered more than once, it will be notified more than once.- Specified by:
addListener
in interfaceObservableMultiset<E>
- Parameters:
listener
- TheMultisetChangeListener
to add.
-
bind
protected void bind(javafx.beans.Observable... dependencies)
Start observing the given dependencies for changes. If the value of one of the dependencies changes, the binding is marked as invalid.- Parameters:
dependencies
- The dependencies to observe.
-
computeValue
protected abstract ObservableMultiset<E> computeValue()
Computes the current value of thisMultisetBinding
.- Returns:
- The current value of this
MultisetBinding
.
-
dispose
public void dispose()
- Specified by:
dispose
in interfacejavafx.beans.binding.Binding<E>
-
emptyProperty
public javafx.beans.property.ReadOnlyBooleanProperty emptyProperty()
Description copied from class:MultisetExpression
A boolean property that reflects whether theMultiset
is empty.- Specified by:
emptyProperty
in classMultisetExpression<E>
- Returns:
- A read-only property.
-
fireValueChangedEvent
protected void fireValueChangedEvent()
Fires notifications to all attachedInvalidationListeners
,ChangeListeners
, andSetMultimapChangeListeners
.
-
fireValueChangedEvent
protected void fireValueChangedEvent(MultisetChangeListener.Change<? extends E> change)
Fires notifications to all attachedInvalidationListeners
,ChangeListeners
, andMultisetChangeListeners
.- Parameters:
change
- the change that needs to be propagated
-
get
public ObservableMultiset<E> get()
- Specified by:
get
in interfacejavafx.beans.value.ObservableObjectValue<E>
-
getDependencies
public javafx.collections.ObservableList<?> getDependencies()
- Specified by:
getDependencies
in interfacejavafx.beans.binding.Binding<E>
-
invalidate
public void invalidate()
- Specified by:
invalidate
in interfacejavafx.beans.binding.Binding<E>
-
invalidated
protected void invalidated()
Can be overwritten by subclasses to receive invalidation notifications. Does nothing by default.
-
isValid
public boolean isValid()
- Specified by:
isValid
in interfacejavafx.beans.binding.Binding<E>
-
removeListener
public void removeListener(javafx.beans.value.ChangeListener<? super ObservableMultiset<E>> listener)
- Specified by:
removeListener
in interfacejavafx.beans.value.ObservableValue<E>
-
removeListener
public void removeListener(javafx.beans.InvalidationListener listener)
- Specified by:
removeListener
in interfacejavafx.beans.Observable
-
removeListener
public void removeListener(MultisetChangeListener<? super E> listener)
Description copied from interface:ObservableMultiset
Removes aMultisetChangeListener
from thisObservableMultiset
. Will do nothing if the listener was not attached to thisObservableMultiset
. If it was added more than once, then only the first occurrence will be removed.- Specified by:
removeListener
in interfaceObservableMultiset<E>
- Parameters:
listener
- TheMultisetChangeListener
to remove.
-
sizeProperty
public javafx.beans.property.ReadOnlyIntegerProperty sizeProperty()
Description copied from class:MultisetExpression
An integer property that represents the size of theMultiset
.- Specified by:
sizeProperty
in classMultisetExpression<E>
- Returns:
- A read-only property.
-
unbind
protected void unbind(javafx.beans.Observable... dependencies)
Stops observing the dependencies for changes. The binding will no longer be marked as invalid if one of the dependencies changes.- Parameters:
dependencies
- The dependencies to stop observing.
-
-