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.
 
 
 
- Author:
 
  - Andres Almiray
 
 
| Nested classes/interfaces inherited from interface java.util.Map | 
Map.Entry<K,V> | 
 
 
 
 
 
SIZE_PROPERTY
public static final String SIZE_PROPERTY
- See Also:
 - Constant Field Values
 
CONTENT_PROPERTY
public static final String CONTENT_PROPERTY
- See Also:
 - Constant Field Values
 
CLEARED_PROPERTY
public static final String CLEARED_PROPERTY
- See Also:
 - Constant Field Values
 
ObservableMap
public ObservableMap()
ObservableMap
public ObservableMap(Closure test)
ObservableMap
public ObservableMap(Map delegate)
ObservableMap
public ObservableMap(Map delegate,
                     Closure test)
getMapDelegate
protected Map getMapDelegate()
 
 
getTest
protected Closure getTest()
 
 
getContent
public Map getContent()
 
 
firePropertyClearedEvent
protected void firePropertyClearedEvent(Map values)
 
 
firePropertyAddedEvent
protected void firePropertyAddedEvent(Object key,
                                      Object value)
 
 
firePropertyUpdatedEvent
protected void firePropertyUpdatedEvent(Object key,
                                        Object oldValue,
                                        Object newValue)
 
 
fireMultiPropertyEvent
protected void fireMultiPropertyEvent(List<ObservableMap.PropertyEvent> events)
 
 
fireMultiPropertyEvent
protected void fireMultiPropertyEvent(ObservableMap.PropertyEvent[] events)
 
 
firePropertyRemovedEvent
protected void firePropertyRemovedEvent(Object key,
                                        Object value)
 
 
firePropertyEvent
protected void firePropertyEvent(ObservableMap.PropertyEvent event)
 
 
fireSizeChangedEvent
protected void fireSizeChangedEvent(int oldValue,
                                    int newValue)
 
 
clear
public void clear()
- Specified by:
 clear in interface Map
 
 
containsKey
public boolean containsKey(Object key)
- Specified by:
 containsKey in interface Map
 
 
containsValue
public boolean containsValue(Object value)
- Specified by:
 containsValue in interface Map
 
 
entrySet
public Set entrySet()
- Specified by:
 entrySet in interface Map
 
 
equals
public boolean equals(Object o)
- Specified by:
 equals in interface Map- Overrides:
 equals in class Object
 
 
get
public Object get(Object key)
- Specified by:
 get in interface Map
 
 
hashCode
public int hashCode()
- Specified by:
 hashCode in interface Map- Overrides:
 hashCode in class Object
 
 
isEmpty
public boolean isEmpty()
- Specified by:
 isEmpty in interface Map
 
 
keySet
public Set keySet()
- Specified by:
 keySet in interface Map
 
 
put
public Object put(Object key,
                  Object value)
- Specified by:
 put in interface Map
 
 
putAll
public void putAll(Map map)
- Specified by:
 putAll in interface Map
 
 
remove
public Object remove(Object key)
- Specified by:
 remove in interface Map
 
 
size
public int size()
- Specified by:
 size in interface Map
 
 
getSize
public int getSize()
 
 
values
public Collection values()
- Specified by:
 values in interface Map
 
 
addPropertyChangeListener
public void addPropertyChangeListener(PropertyChangeListener listener)
 
 
addPropertyChangeListener
public void addPropertyChangeListener(String propertyName,
                                      PropertyChangeListener listener)
 
 
getPropertyChangeListeners
public PropertyChangeListener[] getPropertyChangeListeners()
 
 
getPropertyChangeListeners
public PropertyChangeListener[] getPropertyChangeListeners(String propertyName)
 
 
removePropertyChangeListener
public void removePropertyChangeListener(PropertyChangeListener listener)
 
 
removePropertyChangeListener
public void removePropertyChangeListener(String propertyName,
                                         PropertyChangeListener listener)
 
 
hasListeners
public boolean hasListeners(String propertyName)