Package groovy.util
Class ObservableMap
- java.lang.Object
- 
- groovy.util.ObservableMap
 
- 
- All Implemented Interfaces:
- Map
 
 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- 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 Classes Modifier and Type Class Description static classObservableMap.ChangeTypestatic classObservableMap.MultiPropertyEventstatic classObservableMap.PropertyAddedEventstatic classObservableMap.PropertyClearedEventstatic classObservableMap.PropertyEventstatic classObservableMap.PropertyRemovedEventstatic classObservableMap.PropertyUpdatedEvent
 - 
Field SummaryFields Modifier and Type Field Description static StringCLEARED_PROPERTYstatic StringCONTENT_PROPERTYstatic StringSIZE_PROPERTY
 - 
Constructor SummaryConstructors Constructor Description ObservableMap()ObservableMap(Closure test)ObservableMap(Map delegate)ObservableMap(Map delegate, Closure test)
 - 
Method Summary- 
Methods inherited from class java.lang.Objectclone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 - 
Methods inherited from interface java.util.Mapcompute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
 
- 
 
- 
- 
- 
Field Detail- 
SIZE_PROPERTYpublic static final String SIZE_PROPERTY - See Also:
- Constant Field Values
 
 - 
CONTENT_PROPERTYpublic static final String CONTENT_PROPERTY - See Also:
- Constant Field Values
 
 - 
CLEARED_PROPERTYpublic static final String CLEARED_PROPERTY - See Also:
- Constant Field Values
 
 
- 
 - 
Method Detail- 
getMapDelegateprotected Map getMapDelegate() 
 - 
getTestprotected Closure getTest() 
 - 
getContentpublic Map getContent() 
 - 
firePropertyClearedEventprotected void firePropertyClearedEvent(Map values) 
 - 
firePropertyUpdatedEventprotected void firePropertyUpdatedEvent(Object key, Object oldValue, Object newValue) 
 - 
fireMultiPropertyEventprotected void fireMultiPropertyEvent(List<ObservableMap.PropertyEvent> events) 
 - 
fireMultiPropertyEventprotected void fireMultiPropertyEvent(ObservableMap.PropertyEvent[] events) 
 - 
firePropertyEventprotected void firePropertyEvent(ObservableMap.PropertyEvent event) 
 - 
fireSizeChangedEventprotected void fireSizeChangedEvent(int oldValue, int newValue)
 - 
containsKeypublic boolean containsKey(Object key) - Specified by:
- containsKeyin interface- Map
 
 - 
containsValuepublic boolean containsValue(Object value) - Specified by:
- containsValuein interface- Map
 
 - 
equalspublic boolean equals(Object o) 
 - 
hashCodepublic int hashCode() 
 - 
getSizepublic int getSize() 
 - 
valuespublic Collection values() 
 - 
addPropertyChangeListenerpublic void addPropertyChangeListener(PropertyChangeListener listener) 
 - 
addPropertyChangeListenerpublic void addPropertyChangeListener(String propertyName, PropertyChangeListener listener) 
 - 
getPropertyChangeListenerspublic PropertyChangeListener[] getPropertyChangeListeners() 
 - 
getPropertyChangeListenerspublic PropertyChangeListener[] getPropertyChangeListeners(String propertyName) 
 - 
removePropertyChangeListenerpublic void removePropertyChangeListener(PropertyChangeListener listener) 
 - 
removePropertyChangeListenerpublic void removePropertyChangeListener(String propertyName, PropertyChangeListener listener) 
 - 
hasListenerspublic boolean hasListeners(String propertyName) 
 
- 
 
-