[Java] Class ObservableList
- groovy.util.ObservableList
- All Implemented Interfaces and Traits:
- 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
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
Type Params | Return Type | Name and description |
---|---|---|
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(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) |
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(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/3.0.7/html/gapi/groovy/util/ObservableList.html