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:// 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, wait 
- 
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray 
- 
Methods inherited from interface java.util.List
replaceAll, sort, spliterator 
 - 
 
 - 
 
- 
- 
Field Detail
- 
SIZE_PROPERTY
public static final String SIZE_PROPERTY
- See Also:
 - Constant Field Values
 
 
- 
CONTENT_PROPERTY
public static final String CONTENT_PROPERTY
- See Also:
 - Constant Field Values
 
 
 - 
 
- 
Method Detail
- 
getContent
public List getContent()
 
- 
getDelegateList
protected List getDelegateList()
 
- 
getTest
protected Closure getTest()
 
- 
fireElementAddedEvent
protected void fireElementAddedEvent(int index, Object element) 
- 
fireMultiElementAddedEvent
protected void fireMultiElementAddedEvent(int index, List values) 
- 
fireElementClearedEvent
protected void fireElementClearedEvent(List values)
 
- 
fireElementRemovedEvent
protected void fireElementRemovedEvent(int index, Object element) 
- 
fireMultiElementRemovedEvent
protected void fireMultiElementRemovedEvent(List values)
 
- 
fireElementUpdatedEvent
protected void fireElementUpdatedEvent(int index, Object oldValue, Object newValue) 
- 
fireElementEvent
protected void fireElementEvent(ObservableList.ElementEvent event)
 
- 
fireSizeChangedEvent
protected void fireSizeChangedEvent(int oldValue, int newValue) 
- 
add
public boolean add(Object o)
- Specified by:
 addin interfaceCollection- Specified by:
 addin interfaceList
 
- 
addAll
public boolean addAll(Collection c)
- Specified by:
 addAllin interfaceCollection- Specified by:
 addAllin interfaceList
 
- 
addAll
public boolean addAll(int index, Collection c) 
- 
clear
public void clear()
- Specified by:
 clearin interfaceCollection- Specified by:
 clearin interfaceList
 
- 
contains
public boolean contains(Object o)
- Specified by:
 containsin interfaceCollection- Specified by:
 containsin interfaceList
 
- 
containsAll
public boolean containsAll(Collection c)
- Specified by:
 containsAllin interfaceCollection- Specified by:
 containsAllin interfaceList
 
- 
equals
public boolean equals(Object o)
 
- 
hashCode
public int hashCode()
 
- 
isEmpty
public boolean isEmpty()
- Specified by:
 isEmptyin interfaceCollection- Specified by:
 isEmptyin interfaceList
 
- 
iterator
public Iterator iterator()
 
- 
lastIndexOf
public int lastIndexOf(Object o)
- Specified by:
 lastIndexOfin interfaceList
 
- 
listIterator
public ListIterator listIterator()
- Specified by:
 listIteratorin interfaceList
 
- 
listIterator
public ListIterator listIterator(int index)
- Specified by:
 listIteratorin interfaceList
 
- 
remove
public boolean remove(Object o)
- Specified by:
 removein interfaceCollection- Specified by:
 removein interfaceList
 
- 
removeAll
public boolean removeAll(Collection c)
- Specified by:
 removeAllin interfaceCollection- Specified by:
 removeAllin interfaceList
 
- 
retainAll
public boolean retainAll(Collection c)
- Specified by:
 retainAllin interfaceCollection- Specified by:
 retainAllin interfaceList
 
- 
size
public int size()
- Specified by:
 sizein interfaceCollection- Specified by:
 sizein interfaceList
 
- 
getSize
public int getSize()
 
- 
toArray
public Object[] toArray()
- Specified by:
 toArrayin interfaceCollection- Specified by:
 toArrayin interfaceList
 
- 
toArray
public Object[] toArray(Object[] a)
- Specified by:
 toArrayin interfaceCollection- Specified by:
 toArrayin interfaceList
 
- 
addPropertyChangeListener
public void addPropertyChangeListener(PropertyChangeListener listener)
 
- 
addPropertyChangeListener
public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
 
- 
getPropertyChangeListeners
public PropertyChangeListener[] getPropertyChangeListeners()
 
- 
getPropertyChangeListeners
public PropertyChangeListener[] getPropertyChangeListeners(String propertyName)
 
- 
removePropertyChangeListener
public void removePropertyChangeListener(PropertyChangeListener listener)
 
- 
removePropertyChangeListener
public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)
 
- 
hasListeners
public boolean hasListeners(String propertyName)
 
 - 
 
 -