public class ObservableSet extends 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
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) |
Copyright © 2003-2020 The Apache Software Foundation. All rights reserved.