Package groovy.util
Class ObservableMap
java.lang.Object
groovy.util.ObservableMap
- All Implemented Interfaces:
- 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:
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
 - ObservableMap.PropertyAddedEvent - a new property is added to the map
- ObservableMap.PropertyRemovedEvent - a property is removed from the map
- ObservableMap.PropertyUpdatedEvent - a property changes value (same as regular PropertyChangeEvent)
- ObservableMap.PropertyClearedEvent - all properties have been removed from the map
- ObservableMap.MultiPropertyEvent - triggered by calling map.putAll(), contains Added|Updated events
Bound properties
- content - read-only.
- size - read-only.
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionstatic enumstatic classstatic classstatic classstatic classstatic classstatic class
- 
Field SummaryFields
- 
Constructor SummaryConstructorsConstructorDescriptionObservableMap(Closure test) ObservableMap(Map delegate) ObservableMap(Map delegate, Closure test) 
- 
Method SummaryModifier and TypeMethodDescriptionvoidvoidaddPropertyChangeListener(String propertyName, PropertyChangeListener listener) voidclear()booleancontainsKey(Object key) booleancontainsValue(Object value) entrySet()booleanprotected voidprotected voidprotected voidfirePropertyAddedEvent(Object key, Object value) protected voidfirePropertyClearedEvent(Map values) protected voidprotected voidfirePropertyRemovedEvent(Object key, Object value) protected voidfirePropertyUpdatedEvent(Object key, Object oldValue, Object newValue) protected voidfireSizeChangedEvent(int oldValue, int newValue) protected MapgetPropertyChangeListeners(String propertyName) intgetSize()protected ClosuregetTest()inthashCode()booleanhasListeners(String propertyName) booleanisEmpty()keySet()voidvoidvoidremovePropertyChangeListener(String propertyName, PropertyChangeListener listener) intsize()values()Methods inherited from class java.lang.Objectclone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.util.Mapcompute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
- 
Field Details- 
SIZE_PROPERTY- See Also:
 
- 
CONTENT_PROPERTY- See Also:
 
- 
CLEARED_PROPERTY- See Also:
 
 
- 
- 
Constructor Details- 
ObservableMappublic ObservableMap()
- 
ObservableMap
- 
ObservableMap
- 
ObservableMap
 
- 
- 
Method Details- 
getMapDelegate
- 
getTest
- 
getContent
- 
firePropertyClearedEvent
- 
firePropertyAddedEvent
- 
firePropertyUpdatedEvent
- 
fireMultiPropertyEvent
- 
fireMultiPropertyEvent
- 
firePropertyRemovedEvent
- 
firePropertyEvent
- 
fireSizeChangedEventprotected void fireSizeChangedEvent(int oldValue, int newValue) 
- 
clearpublic void clear()
- 
containsKey- Specified by:
- containsKeyin interface- Map
 
- 
containsValue- Specified by:
- containsValuein interface- Map
 
- 
entrySet
- 
equals
- 
get
- 
hashCodepublic int hashCode()
- 
isEmptypublic boolean isEmpty()
- 
keySet
- 
put
- 
putAll
- 
remove
- 
sizepublic int size()
- 
getSizepublic int getSize()
- 
values
- 
addPropertyChangeListener
- 
addPropertyChangeListener
- 
getPropertyChangeListeners
- 
getPropertyChangeListeners
- 
removePropertyChangeListener
- 
removePropertyChangeListener
- 
hasListeners
 
-