|
Groovy Documentation | |||||||
FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object groovy.util.ObservableMap
public class ObservableMap extends java.lang.Object
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
Nested Class Summary | |
---|---|
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
|
Field Summary | |
---|---|
static java.lang.String |
CLEARED_PROPERTY
|
static java.lang.String |
CONTENT_PROPERTY
|
static java.lang.String |
SIZE_PROPERTY
|
Constructor Summary | |
ObservableMap()
|
|
ObservableMap(Closure test)
|
|
ObservableMap(java.util.Map delegate)
|
|
ObservableMap(java.util.Map delegate, Closure test)
|
Method Summary | |
---|---|
void
|
addPropertyChangeListener(java.beans.PropertyChangeListener listener)
|
void
|
addPropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
|
void
|
clear()
|
boolean
|
containsKey(java.lang.Object key)
|
boolean
|
containsValue(java.lang.Object value)
|
java.util.Set
|
entrySet()
|
boolean
|
equals(java.lang.Object o)
|
protected void
|
fireMultiPropertyEvent(java.util.List events)
|
protected void
|
fireMultiPropertyEvent(ObservableMap.PropertyEvent[] events)
|
protected void
|
firePropertyAddedEvent(java.lang.Object key, java.lang.Object value)
|
protected void
|
firePropertyClearedEvent(java.util.Map values)
|
protected void
|
firePropertyEvent(ObservableMap.PropertyEvent event)
|
protected void
|
firePropertyRemovedEvent(java.lang.Object key, java.lang.Object value)
|
protected void
|
firePropertyUpdatedEvent(java.lang.Object key, java.lang.Object oldValue, java.lang.Object newValue)
|
protected void
|
fireSizeChangedEvent(int oldValue, int newValue)
|
java.lang.Object
|
get(java.lang.Object key)
|
java.util.Map
|
getContent()
|
protected java.util.Map
|
getMapDelegate()
|
java.beans.PropertyChangeListener[]
|
getPropertyChangeListeners()
|
java.beans.PropertyChangeListener[]
|
getPropertyChangeListeners(java.lang.String propertyName)
|
int
|
getSize()
|
protected Closure
|
getTest()
|
boolean
|
hasListeners(java.lang.String propertyName)
|
int
|
hashCode()
|
boolean
|
isEmpty()
|
java.util.Set
|
keySet()
|
java.lang.Object
|
put(java.lang.Object key, java.lang.Object value)
|
void
|
putAll(java.util.Map map)
|
java.lang.Object
|
remove(java.lang.Object key)
|
void
|
removePropertyChangeListener(java.beans.PropertyChangeListener listener)
|
void
|
removePropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
|
int
|
size()
|
java.util.Collection
|
values()
|
Methods inherited from class java.lang.Object | |
---|---|
java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll() |
Field Detail |
---|
public static final java.lang.String CLEARED_PROPERTY
public static final java.lang.String CONTENT_PROPERTY
public static final java.lang.String SIZE_PROPERTY
Constructor Detail |
---|
public ObservableMap()
public ObservableMap(Closure test)
public ObservableMap(java.util.Map delegate)
public ObservableMap(java.util.Map delegate, Closure test)
Method Detail |
---|
public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
public void addPropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
public void clear()
public boolean containsKey(java.lang.Object key)
public boolean containsValue(java.lang.Object value)
public java.util.Set entrySet()
public boolean equals(java.lang.Object o)
protected void fireMultiPropertyEvent(java.util.List events)
protected void fireMultiPropertyEvent(ObservableMap.PropertyEvent[] events)
protected void firePropertyAddedEvent(java.lang.Object key, java.lang.Object value)
protected void firePropertyClearedEvent(java.util.Map values)
protected void firePropertyEvent(ObservableMap.PropertyEvent event)
protected void firePropertyRemovedEvent(java.lang.Object key, java.lang.Object value)
protected void firePropertyUpdatedEvent(java.lang.Object key, java.lang.Object oldValue, java.lang.Object newValue)
protected void fireSizeChangedEvent(int oldValue, int newValue)
public java.lang.Object get(java.lang.Object key)
public java.util.Map getContent()
protected java.util.Map getMapDelegate()
public java.beans.PropertyChangeListener[] getPropertyChangeListeners()
public java.beans.PropertyChangeListener[] getPropertyChangeListeners(java.lang.String propertyName)
public int getSize()
protected Closure getTest()
public boolean hasListeners(java.lang.String propertyName)
public int hashCode()
public boolean isEmpty()
public java.util.Set keySet()
public java.lang.Object put(java.lang.Object key, java.lang.Object value)
public void putAll(java.util.Map map)
public java.lang.Object remove(java.lang.Object key)
public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
public void removePropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
public int size()
public java.util.Collection values()
Groovy Documentation