Groovy Documentation

groovy.util
[Java] Class ObservableSet

java.lang.Object
  groovy.util.ObservableSet
All Implemented Interfaces:
java.util.Set

public class ObservableSet
extends java.lang.Object

Set 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 set = new ObservableSet( {!(it instanceof Closure)} )
 <p/>
 // skip all properties whose name matches a regex
 def set = new ObservableSet( { 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 ObservableSet.ChangeType

static class ObservableSet.ElementAddedEvent

static class ObservableSet.ElementClearedEvent

static class ObservableSet.ElementEvent

static class ObservableSet.ElementRemovedEvent

static class ObservableSet.MultiElementAddedEvent

static class ObservableSet.MultiElementRemovedEvent

protected class ObservableSet.ObservableIterator

 
Field Summary
static java.lang.String CONTENT_PROPERTY

static java.lang.String SIZE_PROPERTY

 
Constructor Summary
ObservableSet()

ObservableSet(java.util.Set delegate)

ObservableSet(Closure test)

ObservableSet(java.util.Set delegate, Closure test)

 
Method Summary
boolean add(E e)

boolean addAll(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 objects)

protected void fireElementAddedEvent(java.lang.Object element)

protected void fireElementClearedEvent(java.util.List values)

protected void fireElementEvent(ObservableSet.ElementEvent event)

protected void fireElementRemovedEvent(java.lang.Object element)

protected void fireMultiElementAddedEvent(java.util.List values)

protected void fireMultiElementRemovedEvent(java.util.List values)

protected void fireSizeChangedEvent(int oldValue, int newValue)

java.util.Set getContent()

protected java.util.Set getDelegateSet()

java.beans.PropertyChangeListener[] getPropertyChangeListeners()

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

protected Closure getTest()

boolean hasListeners(java.lang.String propertyName)

boolean isEmpty()

java.util.Iterator iterator()

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)

int size()

java.lang.Object[] toArray()

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

 
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

ObservableSet

public ObservableSet()


ObservableSet

public ObservableSet(java.util.Set delegate)


ObservableSet

public ObservableSet(Closure test)


ObservableSet

public ObservableSet(java.util.Set delegate, Closure test)


 
Method Detail

add

public boolean add(E e)


addAll

public boolean addAll(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 objects)


fireElementAddedEvent

protected void fireElementAddedEvent(java.lang.Object element)


fireElementClearedEvent

protected void fireElementClearedEvent(java.util.List values)


fireElementEvent

protected void fireElementEvent(ObservableSet.ElementEvent event)


fireElementRemovedEvent

protected void fireElementRemovedEvent(java.lang.Object element)


fireMultiElementAddedEvent

protected void fireMultiElementAddedEvent(java.util.List values)


fireMultiElementRemovedEvent

protected void fireMultiElementRemovedEvent(java.util.List values)


fireSizeChangedEvent

protected void fireSizeChangedEvent(int oldValue, int newValue)


getContent

public java.util.Set getContent()


getDelegateSet

protected java.util.Set getDelegateSet()


getPropertyChangeListeners

public java.beans.PropertyChangeListener[] getPropertyChangeListeners()


getPropertyChangeListeners

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


getTest

protected Closure getTest()


hasListeners

public boolean hasListeners(java.lang.String propertyName)


isEmpty

public boolean isEmpty()


iterator

public java.util.Iterator iterator()


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)


size

public int size()


toArray

public java.lang.Object[] toArray()


toArray

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


 

Groovy Documentation