Class SimpleMapProperty<S,K,V>
- java.lang.Object
-
- org.eclipse.core.databinding.property.map.MapProperty<S,K,V>
-
- org.eclipse.core.databinding.property.map.SimpleMapProperty<S,K,V>
-
- Type Parameters:
S
- type of the source objectK
- type of the keys to the mapV
- type of the values in the map
- All Implemented Interfaces:
IProperty
,IMapProperty<S,K,V>
public abstract class SimpleMapProperty<S,K,V> extends MapProperty<S,K,V>
Simplified abstract implementation of IMapProperty. This class takes care of most of the functional requirements for an IMapProperty implementation, leaving only the property-specific details to subclasses.Subclasses must implement these methods:
-
IMapProperty.getKeyType()
-
IMapProperty.getValueType()
-
doGetMap(Object)
-
doSetMap(Object, Map, MapDiff)
-
adaptListener(ISimplePropertyListener)
In addition, we recommended overriding
Object.toString()
to return a description suitable for debugging purposes.- Since:
- 1.2
-
-
Constructor Summary
Constructors Constructor Description SimpleMapProperty()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract INativePropertyListener<S>
adaptListener(ISimplePropertyListener<S,MapDiff<K,V>> listener)
Returns a listener capable of adding or removing itself as a listener on a source object using the the source's "native" listener API.protected abstract Map<K,V>
doGetMap(S source)
Returns a Map with the current contents of the source's map propertyprotected void
doSetMap(S source, Map<K,V> map)
Updates the property on the source with the specified change.protected abstract void
doSetMap(S source, Map<K,V> map, MapDiff<K,V> diff)
Updates the property on the source with the specified change.protected void
doUpdateMap(S source, MapDiff<K,V> diff)
Updates the property on the source with the specified change.IObservableMap<K,V>
observe(Realm realm, S source)
Returns an observable map observing this map property on the given property sourcevoid
setMap(S source, Map<K,V> map, MapDiff<K,V> diff)
Updates the property on the source with the specified change.-
Methods inherited from class org.eclipse.core.databinding.property.map.MapProperty
getMap, mapFactory, mapFactory, observe, observeDetail, setMap, updateMap, values
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.eclipse.core.databinding.property.map.IMapProperty
getKeyType, getValueType
-
-
-
-
Method Detail
-
observe
public IObservableMap<K,V> observe(Realm realm, S source)
Description copied from interface:IMapProperty
Returns an observable map observing this map property on the given property source- Parameters:
realm
- the observable's realmsource
- the property source- Returns:
- an observable map observing this map-typed property on the given property source
-
doGetMap
protected abstract Map<K,V> doGetMap(S source)
Description copied from class:MapProperty
Returns a Map with the current contents of the source's map property- Overrides:
doGetMap
in classMapProperty<S,K,V>
- Parameters:
source
- the property source- Returns:
- a Map with the current contents of the source's map property
-
setMap
public final void setMap(S source, Map<K,V> map, MapDiff<K,V> diff)
Updates the property on the source with the specified change.- Parameters:
source
- the property sourcemap
- the new mapdiff
- a diff describing the change- Since:
- 1.6
- Restriction:
- This method is not intended to be referenced by clients.
-
doSetMap
protected abstract void doSetMap(S source, Map<K,V> map, MapDiff<K,V> diff)
Updates the property on the source with the specified change.- Parameters:
source
- the property sourcemap
- the new mapdiff
- a diff describing the change- Restriction:
- This method is not intended to be referenced by clients.
-
doSetMap
protected void doSetMap(S source, Map<K,V> map)
Description copied from class:MapProperty
Updates the property on the source with the specified change.- Overrides:
doSetMap
in classMapProperty<S,K,V>
- Parameters:
source
- the property sourcemap
- the new map
-
doUpdateMap
protected void doUpdateMap(S source, MapDiff<K,V> diff)
Description copied from class:MapProperty
Updates the property on the source with the specified change.- Overrides:
doUpdateMap
in classMapProperty<S,K,V>
- Parameters:
source
- the property sourcediff
- a diff describing the change
-
adaptListener
public abstract INativePropertyListener<S> adaptListener(ISimplePropertyListener<S,MapDiff<K,V>> listener)
Returns a listener capable of adding or removing itself as a listener on a source object using the the source's "native" listener API. Events received from the source objects are parlayed to the specified listener argument.This method returns null if the source object has no listener APIs for this property.
- Parameters:
listener
- the property listener to receive events- Returns:
- a native listener which parlays property change events to the specified listener, or null if the source object has no listener APIs for this property.
- Since:
- 1.5
- Restriction:
- This method is not intended to be referenced by clients.
-
-