Groovy Documentation

groovy.util
[Java] Class ObservableList

java.lang.Object
  groovy.util.ObservableList
All Implemented Interfaces:
java.util.List

public class ObservableList
extends java.lang.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)} )
 <p/>
 // 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

Bound properties

Authors:
Andres Almiray


Nested Class Summary
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
static java.lang.String CONTENT_PROPERTY

static java.lang.String SIZE_PROPERTY

 
Constructor Summary
ObservableList()

ObservableList(java.util.List delegate)

ObservableList(Closure test)

ObservableList(java.util.List delegate, Closure test)

 
Method Summary
void add(int index, java.lang.Object element)

boolean add(java.lang.Object o)

boolean addAll(java.util.Collection c)

boolean addAll(int index, java.util.Collection c)

void addPropertyChangeListener(java.beans.PropertyChangeListener listener)

void addPropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)

void clear()

boolean contains(java.lang.Object o)

boolean containsAll(java.util.Collection c)

boolean equals(java.lang.Object o)

protected void fireElementAddedEvent(int index, java.lang.Object element)

protected void fireElementClearedEvent(java.util.List values)

protected void fireElementEvent(ObservableList.ElementEvent event)

protected void fireElementRemovedEvent(int index, java.lang.Object element)

protected void fireElementUpdatedEvent(int index, java.lang.Object oldValue, java.lang.Object newValue)

protected void fireMultiElementAddedEvent(int index, java.util.List values)

protected void fireMultiElementRemovedEvent(java.util.List values)

protected void fireSizeChangedEvent(int oldValue, int newValue)

java.lang.Object get(int index)

java.util.List getContent()

protected java.util.List getDelegateList()

java.beans.PropertyChangeListener[] getPropertyChangeListeners()

java.beans.PropertyChangeListener[] getPropertyChangeListeners(java.lang.String propertyName)

int getSize()

protected Closure getTest()

boolean hasListeners(java.lang.String propertyName)

int hashCode()

int indexOf(java.lang.Object o)

boolean isEmpty()

java.util.Iterator iterator()

int lastIndexOf(java.lang.Object o)

java.util.ListIterator listIterator()

java.util.ListIterator listIterator(int index)

java.lang.Object remove(int index)

boolean remove(java.lang.Object o)

boolean removeAll(java.util.Collection c)

void removePropertyChangeListener(java.beans.PropertyChangeListener listener)

void removePropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)

boolean retainAll(java.util.Collection c)

java.lang.Object set(int index, java.lang.Object element)

int size()

java.util.List subList(int fromIndex, int toIndex)

java.lang.Object[] toArray()

java.lang.Object[] toArray(java.lang.Object[] a)

 
Methods inherited from class java.lang.Object
java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
 

Field Detail

CONTENT_PROPERTY

public static final java.lang.String CONTENT_PROPERTY


SIZE_PROPERTY

public static final java.lang.String SIZE_PROPERTY


 
Constructor Detail

ObservableList

public ObservableList()


ObservableList

public ObservableList(java.util.List delegate)


ObservableList

public ObservableList(Closure test)


ObservableList

public ObservableList(java.util.List delegate, Closure test)


 
Method Detail

add

public void add(int index, java.lang.Object element)


add

public boolean add(java.lang.Object o)


addAll

public boolean addAll(java.util.Collection c)


addAll

public boolean addAll(int index, java.util.Collection c)


addPropertyChangeListener

public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)


addPropertyChangeListener

public void addPropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)


clear

public void clear()


contains

public boolean contains(java.lang.Object o)


containsAll

public boolean containsAll(java.util.Collection c)


equals

public boolean equals(java.lang.Object o)


fireElementAddedEvent

protected void fireElementAddedEvent(int index, java.lang.Object element)


fireElementClearedEvent

protected void fireElementClearedEvent(java.util.List values)


fireElementEvent

protected void fireElementEvent(ObservableList.ElementEvent event)


fireElementRemovedEvent

protected void fireElementRemovedEvent(int index, java.lang.Object element)


fireElementUpdatedEvent

protected void fireElementUpdatedEvent(int index, java.lang.Object oldValue, java.lang.Object newValue)


fireMultiElementAddedEvent

protected void fireMultiElementAddedEvent(int index, java.util.List values)


fireMultiElementRemovedEvent

protected void fireMultiElementRemovedEvent(java.util.List values)


fireSizeChangedEvent

protected void fireSizeChangedEvent(int oldValue, int newValue)


get

public java.lang.Object get(int index)


getContent

public java.util.List getContent()


getDelegateList

protected java.util.List getDelegateList()


getPropertyChangeListeners

public java.beans.PropertyChangeListener[] getPropertyChangeListeners()


getPropertyChangeListeners

public java.beans.PropertyChangeListener[] getPropertyChangeListeners(java.lang.String propertyName)


getSize

public int getSize()


getTest

protected Closure getTest()


hasListeners

public boolean hasListeners(java.lang.String propertyName)


hashCode

public int hashCode()


indexOf

public int indexOf(java.lang.Object o)


isEmpty

public boolean isEmpty()


iterator

public java.util.Iterator iterator()


lastIndexOf

public int lastIndexOf(java.lang.Object o)


listIterator

public java.util.ListIterator listIterator()


listIterator

public java.util.ListIterator listIterator(int index)


remove

public java.lang.Object remove(int index)


remove

public boolean remove(java.lang.Object o)


removeAll

public boolean removeAll(java.util.Collection c)


removePropertyChangeListener

public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)


removePropertyChangeListener

public void removePropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)


retainAll

public boolean retainAll(java.util.Collection c)


set

public java.lang.Object set(int index, java.lang.Object element)


size

public int size()


subList

public java.util.List subList(int fromIndex, int toIndex)


toArray

public java.lang.Object[] toArray()


toArray

public java.lang.Object[] toArray(java.lang.Object[] a)


 

Groovy Documentation