Class UnionSet<E>
- java.lang.Object
-
- org.eclipse.core.databinding.observable.AbstractObservable
-
- org.eclipse.core.databinding.observable.set.ObservableSet<E>
-
- org.eclipse.core.databinding.observable.set.UnionSet<E>
-
- Type Parameters:
E
- type of the elements in the union set
- All Implemented Interfaces:
Iterable<E>
,Collection<E>
,Set<E>
,IObservable
,IObservableCollection<E>
,IObservableSet<E>
public final class UnionSet<E> extends ObservableSet<E>
Represents a set consisting of the union of elements from one or more other sets. This object does not need to be explicitly disposed. If nobody is listening to the UnionSet, the set will remove its listeners.This class is thread safe. All state accessing methods must be invoked from the
current realm
. Methods for adding and removing listeners may be invoked from any thread.- Since:
- 1.0
-
-
Field Summary
-
Fields inherited from class org.eclipse.core.databinding.observable.set.ObservableSet
elementType, wrappedSet
-
-
Constructor Summary
Constructors Constructor Description UnionSet(Set<IObservableSet<? extends E>> childSets)
UnionSet(Set<IObservableSet<? extends E>> childSets, Object elementType)
UnionSet(IObservableSet<? extends E>[] childSets)
UnionSet(IObservableSet<? extends E>[] childSets, Object elementType)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addListener(Object listenerType, IObservablesListener listener)
protected Object
clone()
protected void
fireEvent(ObservableEvent event)
protected void
firstListenerAdded()
Realm
getRealm()
protected void
getterCalled()
protected boolean
hasListeners()
boolean
isStale()
Returns whether the state of this observable is stale and is expected to change soon.protected void
lastListenerRemoved()
protected void
removeListener(Object listenerType, IObservablesListener listener)
-
Methods inherited from class org.eclipse.core.databinding.observable.set.ObservableSet
add, addAll, addSetChangeListener, clear, contains, containsAll, equals, fireChange, fireSetChange, getElementType, hashCode, isEmpty, iterator, remove, removeAll, removeSetChangeListener, retainAll, setStale, setWrappedSet, size, toArray, toArray, toString
-
Methods inherited from class org.eclipse.core.databinding.observable.AbstractObservable
addChangeListener, addDisposeListener, addStaleListener, checkRealm, dispose, fireStale, isDisposed, removeChangeListener, removeDisposeListener, removeStaleListener
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
-
Methods inherited from interface org.eclipse.core.databinding.observable.IObservable
addChangeListener, addDisposeListener, addStaleListener, dispose, getRealm, isDisposed, removeChangeListener, removeDisposeListener, removeStaleListener
-
Methods inherited from interface java.util.Set
spliterator
-
-
-
-
Constructor Detail
-
UnionSet
public UnionSet(IObservableSet<? extends E>[] childSets)
- Parameters:
childSets
- the sets that form this union
-
UnionSet
public UnionSet(Set<IObservableSet<? extends E>> childSets)
- Parameters:
childSets
- the sets that form this union- Since:
- 1.6
-
UnionSet
public UnionSet(IObservableSet<? extends E>[] childSets, Object elementType)
- Parameters:
childSets
- the sets that form this unionelementType
- explicit element type for the child set elements- Since:
- 1.2
-
UnionSet
public UnionSet(Set<IObservableSet<? extends E>> childSets, Object elementType)
- Parameters:
childSets
- the sets that form this unionelementType
- explicit element type for the child set elements- Since:
- 1.6
-
-
Method Detail
-
isStale
public boolean isStale()
Description copied from interface:IObservable
Returns whether the state of this observable is stale and is expected to change soon. A non-stale observable that becomes stale will notify its stale listeners. A stale object that becomes non-stale does so by changing its state and notifying its change listeners, it does not notify its stale listeners about becoming non-stale. Clients that do not expect asynchronous changes may ignore staleness of observable objects.- Specified by:
isStale
in interfaceIObservable
- Overrides:
isStale
in classObservableSet<E>
- Returns:
- Returns the stale state.
-
firstListenerAdded
protected void firstListenerAdded()
-
lastListenerRemoved
protected void lastListenerRemoved()
-
getterCalled
protected void getterCalled()
- Overrides:
getterCalled
in classObservableSet<E>
-
addListener
protected void addListener(Object listenerType, IObservablesListener listener)
- Parameters:
listenerType
- arbitrary object to identify a type of the listenerlistener
- the listener to add; notnull
-
removeListener
protected void removeListener(Object listenerType, IObservablesListener listener)
- Parameters:
listenerType
- arbitrary object to identify a type of the listenerlistener
- the listener to remove; notnull
-
hasListeners
protected boolean hasListeners()
-
fireEvent
protected void fireEvent(ObservableEvent event)
-
getRealm
public Realm getRealm()
- Returns:
- Returns the realm.
-
clone
protected Object clone() throws CloneNotSupportedException
- Overrides:
clone
in classObject
- Throws:
CloneNotSupportedException
-
-