Package groovy.util
Class ObservableSet<E>
java.lang.Object
groovy.util.ObservableSet<E>
- All Implemented Interfaces:
- Iterable<E>,- Collection<E>,- Set<E>
Set decorator that will trigger PropertyChangeEvents when a value changes.
An optional Closure may be specified and will work as a filter, if it returns true the property will trigger an event (if the value indeed changed), otherwise it won't. The Closure may receive 1 or 2 parameters, the single one being the value, the other one both the key and value, for example:
An optional Closure may be specified and will work as a filter, if it returns true the property will trigger an event (if the value indeed changed), otherwise it won't. The Closure may receive 1 or 2 parameters, the single one being the value, the other one both the key and value, for example:
 // skip all properties whose value is a closure
 def set = new ObservableSet( {!(it instanceof Closure)} )
 <p/>
 // skip all properties whose name matches a regex
 def set = new ObservableSet( { name, value -> !(name =˜ /[A-Z+]/) } )
 
 The current implementation will trigger specialized events in the following scenarios, you need
 not register a different listener as those events extend from PropertyChangeEvent
 - ObservableSet.ElementAddedEvent - a new element is added to the set
- ObservableSet.ElementRemovedEvent - an element is removed from the set
- ObservableSet.ElementUpdatedEvent - an element changes value (same as regular PropertyChangeEvent)
- ObservableSet.ElementClearedEvent - all elements have been removed from the list
- ObservableSet.MultiElementAddedEvent - triggered by calling set.addAll()
- ObservableSet.MultiElementRemovedEvent - triggered by calling set.removeAll()/set.retainAll()
Bound properties
- content - read-only.
- size - read-only.
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionstatic enumstatic classstatic classstatic classstatic classstatic classstatic classprotected class
- 
Field SummaryFields
- 
Constructor SummaryConstructorsConstructorDescriptionObservableSet(Closure test) ObservableSet(Set<E> delegate) ObservableSet(Set<E> delegate, Closure test) 
- 
Method SummaryModifier and TypeMethodDescriptionbooleanbooleanaddAll(Collection<? extends E> c) voidvoidaddPropertyChangeListener(String propertyName, PropertyChangeListener listener) voidclear()booleanbooleancontainsAll(Collection<?> objects) protected voidfireElementAddedEvent(Object element) protected voidfireElementClearedEvent(List values) protected voidprotected voidfireElementRemovedEvent(Object element) protected voidfireMultiElementAddedEvent(List values) protected voidfireMultiElementRemovedEvent(List values) protected voidfireSizeChangedEvent(int oldValue, int newValue) getPropertyChangeListeners(String propertyName) protected ClosuregetTest()booleanhasListeners(String propertyName) booleanisEmpty()iterator()booleanbooleanremoveAll(Collection<?> c) voidvoidremovePropertyChangeListener(String propertyName, PropertyChangeListener listener) booleanretainAll(Collection<?> c) intsize()Object[]toArray()<T> T[]toArray(T[] ts) Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.util.CollectionparallelStream, removeIf, stream, toArrayMethods inherited from interface java.util.Setequals, hashCode, spliterator
- 
Field Details- 
SIZE_PROPERTY- See Also:
 
- 
CONTENT_PROPERTY- See Also:
 
 
- 
- 
Constructor Details- 
ObservableSetpublic ObservableSet()
- 
ObservableSet
- 
ObservableSet
- 
ObservableSet
 
- 
- 
Method Details- 
getContent
- 
getDelegateSet
- 
getTest
- 
fireElementAddedEvent
- 
fireMultiElementAddedEvent
- 
fireElementClearedEvent
- 
fireElementRemovedEvent
- 
fireMultiElementRemovedEvent
- 
fireElementEvent
- 
fireSizeChangedEventprotected void fireSizeChangedEvent(int oldValue, int newValue) 
- 
addPropertyChangeListener
- 
addPropertyChangeListener
- 
getPropertyChangeListeners
- 
getPropertyChangeListeners
- 
removePropertyChangeListener
- 
removePropertyChangeListener
- 
hasListeners
- 
sizepublic int size()
- 
isEmptypublic boolean isEmpty()
- 
contains
- 
iterator
- 
toArray
- 
toArraypublic <T> T[] toArray(T[] ts) 
- 
add
- 
remove
- 
containsAll- Specified by:
- containsAllin interface- Collection<E>
- Specified by:
- containsAllin interface- Set<E>
 
- 
addAll
- 
retainAll
- 
removeAll
- 
clearpublic void clear()
 
-