public class ObservableSet<E> extends Object implements Set
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
Modifiers | Name | Description |
---|---|---|
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 |
Modifiers | Name | Description |
---|---|---|
static String |
CONTENT_PROPERTY |
|
static String |
SIZE_PROPERTY |
Constructor and description |
---|
ObservableSet() |
ObservableSet(Set<E> delegate) |
ObservableSet(Closure test) |
ObservableSet(Set<E> delegate, Closure test) |
Type Params | Return Type | Name and description |
---|---|---|
|
public boolean |
add(E e) |
|
public boolean |
addAll(Collection<? extends E> 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<?> objects) |
|
protected void |
fireElementAddedEvent(Object element) |
|
protected void |
fireElementClearedEvent(List values) |
|
protected void |
fireElementEvent(ElementEvent event) |
|
protected void |
fireElementRemovedEvent(Object element) |
|
protected void |
fireMultiElementAddedEvent(List values) |
|
protected void |
fireMultiElementRemovedEvent(List values) |
|
protected void |
fireSizeChangedEvent(int oldValue, int newValue) |
|
public Set<E> |
getContent() |
|
protected Set<E> |
getDelegateSet() |
|
public PropertyChangeListener[] |
getPropertyChangeListeners() |
|
public PropertyChangeListener[] |
getPropertyChangeListeners(String propertyName) |
|
protected Closure |
getTest() |
|
public boolean |
hasListeners(String propertyName) |
|
public boolean |
isEmpty() |
|
public Iterator<E> |
iterator() |
|
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 int |
size() |
|
public Object[] |
toArray() |
<T> |
public T[] |
toArray(T[] ts) |
Copyright © 2003-2022 The Apache Software Foundation. All rights reserved.