Package groovy.util
Class ObservableList
- java.lang.Object
- 
- groovy.util.ObservableList
 
- 
- All Implemented Interfaces:
- java.lang.Iterable,- java.util.Collection,- java.util.List
 
 public class ObservableList extends java.lang.Object implements java.util.ListList 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 SummaryNested 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 SummaryFields Modifier and Type Field Description static java.lang.StringCONTENT_PROPERTYstatic java.lang.StringSIZE_PROPERTY
 - 
Constructor SummaryConstructors Constructor Description ObservableList()ObservableList(Closure test)ObservableList(java.util.List delegate)ObservableList(java.util.List delegate, Closure test)
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(int index, java.lang.Object element)booleanadd(java.lang.Object o)booleanaddAll(int index, java.util.Collection c)booleanaddAll(java.util.Collection c)voidaddPropertyChangeListener(java.beans.PropertyChangeListener listener)voidaddPropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)voidclear()booleancontains(java.lang.Object o)booleancontainsAll(java.util.Collection c)booleanequals(java.lang.Object o)protected voidfireElementAddedEvent(int index, java.lang.Object element)protected voidfireElementClearedEvent(java.util.List values)protected voidfireElementEvent(ObservableList.ElementEvent event)protected voidfireElementRemovedEvent(int index, java.lang.Object element)protected voidfireElementUpdatedEvent(int index, java.lang.Object oldValue, java.lang.Object newValue)protected voidfireMultiElementAddedEvent(int index, java.util.List values)protected voidfireMultiElementRemovedEvent(java.util.List values)protected voidfireSizeChangedEvent(int oldValue, int newValue)java.lang.Objectget(int index)java.util.ListgetContent()protected java.util.ListgetDelegateList()java.beans.PropertyChangeListener[]getPropertyChangeListeners()java.beans.PropertyChangeListener[]getPropertyChangeListeners(java.lang.String propertyName)intgetSize()protected ClosuregetTest()inthashCode()booleanhasListeners(java.lang.String propertyName)intindexOf(java.lang.Object o)booleanisEmpty()java.util.Iteratoriterator()intlastIndexOf(java.lang.Object o)java.util.ListIteratorlistIterator()java.util.ListIteratorlistIterator(int index)java.lang.Objectremove(int index)booleanremove(java.lang.Object o)booleanremoveAll(java.util.Collection c)voidremovePropertyChangeListener(java.beans.PropertyChangeListener listener)voidremovePropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)booleanretainAll(java.util.Collection c)java.lang.Objectset(int index, java.lang.Object element)intsize()java.util.ListsubList(int fromIndex, int toIndex)java.lang.Object[]toArray()java.lang.Object[]toArray(java.lang.Object[] a)
 
- 
- 
- 
Field Detail- 
SIZE_PROPERTYpublic static final java.lang.String SIZE_PROPERTY - See Also:
- Constant Field Values
 
 - 
CONTENT_PROPERTYpublic static final java.lang.String CONTENT_PROPERTY - See Also:
- Constant Field Values
 
 
- 
 - 
Method Detail- 
getContentpublic java.util.List getContent() 
 - 
getDelegateListprotected java.util.List getDelegateList() 
 - 
getTestprotected Closure getTest() 
 - 
fireElementAddedEventprotected void fireElementAddedEvent(int index, java.lang.Object element)
 - 
fireMultiElementAddedEventprotected void fireMultiElementAddedEvent(int index, java.util.List values)
 - 
fireElementClearedEventprotected void fireElementClearedEvent(java.util.List values) 
 - 
fireElementRemovedEventprotected void fireElementRemovedEvent(int index, java.lang.Object element)
 - 
fireMultiElementRemovedEventprotected void fireMultiElementRemovedEvent(java.util.List values) 
 - 
fireElementUpdatedEventprotected void fireElementUpdatedEvent(int index, java.lang.Object oldValue, java.lang.Object newValue)
 - 
fireElementEventprotected void fireElementEvent(ObservableList.ElementEvent event) 
 - 
fireSizeChangedEventprotected void fireSizeChangedEvent(int oldValue, int newValue)
 - 
addpublic void add(int index, java.lang.Object element)- Specified by:
- addin interface- java.util.List
 
 - 
addpublic boolean add(java.lang.Object o) - Specified by:
- addin interface- java.util.Collection
- Specified by:
- addin interface- java.util.List
 
 - 
addAllpublic boolean addAll(java.util.Collection c) - Specified by:
- addAllin interface- java.util.Collection
- Specified by:
- addAllin interface- java.util.List
 
 - 
addAllpublic boolean addAll(int index, java.util.Collection c)- Specified by:
- addAllin interface- java.util.List
 
 - 
clearpublic void clear() - Specified by:
- clearin interface- java.util.Collection
- Specified by:
- clearin interface- java.util.List
 
 - 
containspublic boolean contains(java.lang.Object o) - Specified by:
- containsin interface- java.util.Collection
- Specified by:
- containsin interface- java.util.List
 
 - 
containsAllpublic boolean containsAll(java.util.Collection c) - Specified by:
- containsAllin interface- java.util.Collection
- Specified by:
- containsAllin interface- java.util.List
 
 - 
equalspublic boolean equals(java.lang.Object o) - Specified by:
- equalsin interface- java.util.Collection
- Specified by:
- equalsin interface- java.util.List
- Overrides:
- equalsin class- java.lang.Object
 
 - 
getpublic java.lang.Object get(int index) - Specified by:
- getin interface- java.util.List
 
 - 
hashCodepublic int hashCode() - Specified by:
- hashCodein interface- java.util.Collection
- Specified by:
- hashCodein interface- java.util.List
- Overrides:
- hashCodein class- java.lang.Object
 
 - 
indexOfpublic int indexOf(java.lang.Object o) - Specified by:
- indexOfin interface- java.util.List
 
 - 
isEmptypublic boolean isEmpty() - Specified by:
- isEmptyin interface- java.util.Collection
- Specified by:
- isEmptyin interface- java.util.List
 
 - 
iteratorpublic java.util.Iterator iterator() - Specified by:
- iteratorin interface- java.util.Collection
- Specified by:
- iteratorin interface- java.lang.Iterable
- Specified by:
- iteratorin interface- java.util.List
 
 - 
lastIndexOfpublic int lastIndexOf(java.lang.Object o) - Specified by:
- lastIndexOfin interface- java.util.List
 
 - 
listIteratorpublic java.util.ListIterator listIterator() - Specified by:
- listIteratorin interface- java.util.List
 
 - 
listIteratorpublic java.util.ListIterator listIterator(int index) - Specified by:
- listIteratorin interface- java.util.List
 
 - 
removepublic java.lang.Object remove(int index) - Specified by:
- removein interface- java.util.List
 
 - 
removepublic boolean remove(java.lang.Object o) - Specified by:
- removein interface- java.util.Collection
- Specified by:
- removein interface- java.util.List
 
 - 
removeAllpublic boolean removeAll(java.util.Collection c) - Specified by:
- removeAllin interface- java.util.Collection
- Specified by:
- removeAllin interface- java.util.List
 
 - 
retainAllpublic boolean retainAll(java.util.Collection c) - Specified by:
- retainAllin interface- java.util.Collection
- Specified by:
- retainAllin interface- java.util.List
 
 - 
setpublic java.lang.Object set(int index, java.lang.Object element)- Specified by:
- setin interface- java.util.List
 
 - 
sizepublic int size() - Specified by:
- sizein interface- java.util.Collection
- Specified by:
- sizein interface- java.util.List
 
 - 
getSizepublic int getSize() 
 - 
subListpublic java.util.List subList(int fromIndex, int toIndex)- Specified by:
- subListin interface- java.util.List
 
 - 
toArraypublic java.lang.Object[] toArray() - Specified by:
- toArrayin interface- java.util.Collection
- Specified by:
- toArrayin interface- java.util.List
 
 - 
toArraypublic java.lang.Object[] toArray(java.lang.Object[] a) - Specified by:
- toArrayin interface- java.util.Collection
- Specified by:
- toArrayin interface- java.util.List
 
 - 
addPropertyChangeListenerpublic void addPropertyChangeListener(java.beans.PropertyChangeListener listener) 
 - 
addPropertyChangeListenerpublic void addPropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
 - 
getPropertyChangeListenerspublic java.beans.PropertyChangeListener[] getPropertyChangeListeners() 
 - 
getPropertyChangeListenerspublic java.beans.PropertyChangeListener[] getPropertyChangeListeners(java.lang.String propertyName) 
 - 
removePropertyChangeListenerpublic void removePropertyChangeListener(java.beans.PropertyChangeListener listener) 
 - 
removePropertyChangeListenerpublic void removePropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
 - 
hasListenerspublic boolean hasListeners(java.lang.String propertyName) 
 
- 
 
-