[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

Nested classes
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

Fields
Modifiers Name Description
static String CONTENT_PROPERTY
static String SIZE_PROPERTY

Constructor Summary

Constructors
Constructor and description
ObservableList ()
ObservableList (List delegate)
ObservableList (Closure test)
ObservableList (List delegate, Closure test)

Methods Summary

Methods
Type Params Return Type Name and description
void add(int index, Object element)
boolean add(Object o)
boolean addAll(Collection c)
boolean addAll(int index, Collection c)
void addPropertyChangeListener(PropertyChangeListener listener)
void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
void clear()
boolean contains(Object o)
boolean containsAll(Collection c)
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)
Object get(int index)
List getContent()
protected List getDelegateList()
PropertyChangeListener[] getPropertyChangeListeners()
PropertyChangeListener[] getPropertyChangeListeners(String propertyName)
int getSize()
protected Closure getTest()
boolean hasListeners(String propertyName)
int hashCode()
int indexOf(Object o)
boolean isEmpty()
Iterator iterator()
int lastIndexOf(Object o)
ListIterator listIterator()
ListIterator listIterator(int index)
Object remove(int index)
boolean remove(Object o)
boolean removeAll(Collection c)
void removePropertyChangeListener(PropertyChangeListener listener)
void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)
boolean retainAll(Collection c)
Object set(int index, Object element)
int size()
List subList(int fromIndex, int toIndex)
Object[] toArray()
Object[] toArray(Object[] a)

Inherited Methods Summary

Inherited Methods
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