Package groovy.util
Class ObservableList
java.lang.Object
groovy.util.ObservableList
- All Implemented Interfaces:
Iterable,Collection,List
public class ObservableList extends Object implements List
List 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 map = new ObservableList( {!(it instanceof Closure)} )
// skip all properties whose name matches a regex
def map = new ObservableList( { 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
- ObservableList.ElementAddedEvent - a new element is added to the list
- ObservableList.ElementRemovedEvent - an element is removed from the list
- ObservableList.ElementUpdatedEvent - an element changes value (same as regular PropertyChangeEvent)
- ObservableList.ElementClearedEvent - all elements have been removed from the list
- ObservableList.MultiElementAddedEvent - triggered by calling list.addAll()
- ObservableList.MultiElementRemovedEvent - triggered by calling list.removeAll()/list.retainAll()
Bound properties
- content - read-only.
- size - read-only.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classObservableList.ChangeTypestatic classObservableList.ElementAddedEventstatic classObservableList.ElementClearedEventstatic classObservableList.ElementEventstatic classObservableList.ElementRemovedEventstatic classObservableList.ElementUpdatedEventstatic classObservableList.MultiElementAddedEventstatic classObservableList.MultiElementRemovedEventprotected classObservableList.ObservableIteratorprotected classObservableList.ObservableListIterator -
Field Summary
Fields Modifier and Type Field Description static StringCONTENT_PROPERTYstatic StringSIZE_PROPERTY -
Constructor Summary
Constructors Constructor Description ObservableList()ObservableList(Closure test)ObservableList(List delegate)ObservableList(List delegate, Closure test) -
Method Summary
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArrayMethods inherited from interface java.util.List
replaceAll, sort, spliterator
-
Field Details
-
SIZE_PROPERTY
- See Also:
- Constant Field Values
-
CONTENT_PROPERTY
- See Also:
- Constant Field Values
-
-
Constructor Details
-
ObservableList
public ObservableList() -
ObservableList
-
ObservableList
-
ObservableList
-
-
Method Details
-
getContent
-
getDelegateList
-
getTest
-
fireElementAddedEvent
-
fireMultiElementAddedEvent
-
fireElementClearedEvent
-
fireElementRemovedEvent
-
fireMultiElementRemovedEvent
-
fireElementUpdatedEvent
-
fireElementEvent
-
fireSizeChangedEvent
protected void fireSizeChangedEvent(int oldValue, int newValue) -
add
-
add
- Specified by:
addin interfaceCollection- Specified by:
addin interfaceList
-
addAll
- Specified by:
addAllin interfaceCollection- Specified by:
addAllin interfaceList
-
addAll
-
clear
public void clear()- Specified by:
clearin interfaceCollection- Specified by:
clearin interfaceList
-
contains
- Specified by:
containsin interfaceCollection- Specified by:
containsin interfaceList
-
containsAll
- Specified by:
containsAllin interfaceCollection- Specified by:
containsAllin interfaceList
-
equals
-
get
-
hashCode
public int hashCode() -
indexOf
-
isEmpty
public boolean isEmpty()- Specified by:
isEmptyin interfaceCollection- Specified by:
isEmptyin interfaceList
-
iterator
-
lastIndexOf
- Specified by:
lastIndexOfin interfaceList
-
listIterator
- Specified by:
listIteratorin interfaceList
-
listIterator
- Specified by:
listIteratorin interfaceList
-
remove
-
remove
- Specified by:
removein interfaceCollection- Specified by:
removein interfaceList
-
removeAll
- Specified by:
removeAllin interfaceCollection- Specified by:
removeAllin interfaceList
-
retainAll
- Specified by:
retainAllin interfaceCollection- Specified by:
retainAllin interfaceList
-
set
-
size
public int size()- Specified by:
sizein interfaceCollection- Specified by:
sizein interfaceList
-
getSize
public int getSize() -
subList
-
toArray
- Specified by:
toArrayin interfaceCollection- Specified by:
toArrayin interfaceList
-
toArray
- Specified by:
toArrayin interfaceCollection- Specified by:
toArrayin interfaceList
-
addPropertyChangeListener
-
addPropertyChangeListener
-
getPropertyChangeListeners
-
getPropertyChangeListeners
-
removePropertyChangeListener
-
removePropertyChangeListener
-
hasListeners
-