[Java] Class ObservableList
- groovy.util.ObservableList
- All Implemented Interfaces and Traits:
- List
public class ObservableList extends Object
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.
- Authors:
- Andres Almiray
Nested Class Summary
Modifiers | Name | Description |
---|---|---|
enum | ObservableList.ChangeType | |
static class | ObservableList.ElementAddedEvent | |
static class | ObservableList.ElementClearedEvent | |
static class | ObservableList.ElementEvent | |
static class | ObservableList.ElementRemovedEvent | |
static class | ObservableList.ElementUpdatedEvent | |
static class | ObservableList.MultiElementAddedEvent | |
static class | ObservableList.MultiElementRemovedEvent | |
protected class | ObservableList.ObservableIterator | |
protected class | ObservableList.ObservableListIterator |
Field Summary
Modifiers | Name | Description |
---|---|---|
static String | CONTENT_PROPERTY | |
static String | SIZE_PROPERTY |
Constructor Summary
Constructor and description |
---|
ObservableList
() |
ObservableList
(List delegate) |
ObservableList
(Closure test) |
ObservableList
(List delegate, Closure test) |
Methods Summary
Inherited Methods Summary
Methods inherited from class | Name |
---|---|
class Object | wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll |
Field Detail
public static final String CONTENT_PROPERTY
public static final String SIZE_PROPERTY
Constructor Detail
public ObservableList()
public ObservableList(List delegate)
public ObservableList(Closure test)
public ObservableList(List delegate, Closure test)
Method Detail
public void add(int index, Object element)
public boolean add(Object o)
public boolean addAll(Collection c)
public boolean addAll(int index, Collection c)
public void addPropertyChangeListener(PropertyChangeListener listener)
public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
public void clear()
public boolean contains(Object o)
public boolean containsAll(Collection c)
public boolean equals(Object o)
protected void fireElementAddedEvent(int index, Object element)
protected void fireElementClearedEvent(List values)
protected void fireElementEvent(ObservableList.ElementEvent event)
protected void fireElementRemovedEvent(int index, Object element)
protected void fireElementUpdatedEvent(int index, Object oldValue, Object newValue)
protected void fireMultiElementAddedEvent(int index, List values)
protected void fireMultiElementRemovedEvent(List values)
protected void fireSizeChangedEvent(int oldValue, int newValue)
public Object get(int index)
public List getContent()
protected List getDelegateList()
public PropertyChangeListener[] getPropertyChangeListeners()
public PropertyChangeListener[] getPropertyChangeListeners(String propertyName)
public int getSize()
protected Closure getTest()
public boolean hasListeners(String propertyName)
public int hashCode()
public int indexOf(Object o)
public boolean isEmpty()
public Iterator iterator()
public int lastIndexOf(Object o)
public ListIterator listIterator()
public ListIterator listIterator(int index)
public Object remove(int index)
public boolean remove(Object o)
public boolean removeAll(Collection c)
public void removePropertyChangeListener(PropertyChangeListener listener)
public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)
public boolean retainAll(Collection c)
public Object set(int index, Object element)
public int size()
public List subList(int fromIndex, int toIndex)
public Object[] toArray()
public Object[] toArray(Object[] a)
© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/2.4.21/html/gapi/groovy/util/ObservableList.html