public class ObservableMap extends Object implements Map
Map 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 ObservableMap( {!(it instanceof Closure)} )
// skip all properties whose name matches a regex
def map = new ObservableMap( { 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 |
ObservableMap.ChangeType |
|
static class |
ObservableMap.MultiPropertyEvent |
|
static class |
ObservableMap.PropertyAddedEvent |
|
static class |
ObservableMap.PropertyClearedEvent |
|
static class |
ObservableMap.PropertyEvent |
|
static class |
ObservableMap.PropertyRemovedEvent |
|
static class |
ObservableMap.PropertyUpdatedEvent |
| Modifiers | Name | Description |
|---|---|---|
static String |
CLEARED_PROPERTY |
|
static String |
CONTENT_PROPERTY |
|
static String |
SIZE_PROPERTY |
| Constructor and description |
|---|
ObservableMap() |
ObservableMap(Closure test) |
ObservableMap(Map delegate) |
ObservableMap(Map delegate, Closure test) |
Copyright © 2003-2022 The Apache Software Foundation. All rights reserved.