Eclipse Platform
Release 3.6

org.eclipse.core.databinding.property.map
Interface IMapProperty

All Superinterfaces:
IProperty
All Known Subinterfaces:
IBeanMapProperty
All Known Implementing Classes:
DelegatingMapProperty, MapProperty, SimpleMapProperty

public interface IMapProperty
extends IProperty

Interface for map-typed properties

Since:
1.2
See Also:
MapProperty, SimpleMapProperty
Restriction:
This interface is not intended to be implemented by clients. Clients should instead subclass one of the classes that implement this interface. Note that direct implementers of this interface outside of the framework will be broken in future releases when methods are added to this interface.

Method Summary
 Object getKeyType()
          Returns the element type of the map's key set or null if the key set is untyped.
 Map getMap(Object source)
          Returns an unmodifiable Map with the current contents of the source's map property.
 Object getValueType()
          Returns the element type of the map's values collection or null if the collection is untyped.
 IObservableFactory mapFactory()
          Returns a factory for creating observable maps tracking this property of a particular property source.
 IObservableFactory mapFactory(Realm realm)
          Returns a factory for creating observable maps in the given realm, tracking this property of a particular property source.
 IObservableMap observe(Object source)
          Returns an observable map observing this map property on the given property source
 IObservableMap observe(Realm realm, Object source)
          Returns an observable map observing this map property on the given property source
 IObservableMap observeDetail(IObservableValue master)
          Returns an observable map on the master observable's realm which tracks this property of the values in the entry set of master.
 void setMap(Object source, Map map)
          Updates the property on the source with the specified change.
 void updateMap(Object source, MapDiff diff)
          Updates the property on the source with the specified change.
 IMapProperty values(IValueProperty detailValues)
          Returns the nested combination of this property and the specified detail value property.
 

Method Detail

getKeyType

Object getKeyType()
Returns the element type of the map's key set or null if the key set is untyped.

Returns:
the element type of the map's key set or null if the key set is untyped.

getValueType

Object getValueType()
Returns the element type of the map's values collection or null if the collection is untyped.

Returns:
the element type of the map's values collection or null if the collection is untyped.

getMap

Map getMap(Object source)
Returns an unmodifiable Map with the current contents of the source's map property.

Parameters:
source - the property source (may be null)
Returns:
a Map with the current contents of the source's map property
Since:
1.3

setMap

void setMap(Object source,
            Map map)
Updates the property on the source with the specified change.

Note: This method is made available to facilitate basic property access. However if the property source lacks property change notification, then observables on the source object may not be notified of the change. In most cases it is preferable to modify the source through an IObservableMap than through the property directly.

Parameters:
source - the property source (may be null)
map - the new map
Since:
1.3

updateMap

void updateMap(Object source,
               MapDiff diff)
Updates the property on the source with the specified change.

Note: This method is made available to facilitate basic property access. However if the property source lacks property change notification, then observables on the source object may not be notified of the change. In most cases it is preferable to modify the source through an IObservableMap than through the property directly.

Parameters:
source - the property source (may be null)
diff - a diff describing the change
Since:
1.3

observe

IObservableMap observe(Object source)
Returns an observable map observing this map property on the given property source

Parameters:
source - the property source
Returns:
an observable map observing this map-typed property on the given property source

observe

IObservableMap observe(Realm realm,
                       Object source)
Returns an observable map observing this map property on the given property source

Parameters:
realm - the observable's realm
source - the property source
Returns:
an observable map observing this map-typed property on the given property source

mapFactory

IObservableFactory mapFactory()
Returns a factory for creating observable maps tracking this property of a particular property source.

Returns:
a factory for creating observable maps tracking this property of a particular property source.

mapFactory

IObservableFactory mapFactory(Realm realm)
Returns a factory for creating observable maps in the given realm, tracking this property of a particular property source.

Parameters:
realm - the realm
Returns:
a factory for creating observable maps in the given realm, tracking this property of a particular property source.

observeDetail

IObservableMap observeDetail(IObservableValue master)
Returns an observable map on the master observable's realm which tracks this property of the values in the entry set of master.

Parameters:
master - the master observable
Returns:
an observable map on the master observable's realm which tracks this property of the values in the entry set of master.

values

IMapProperty values(IValueProperty detailValues)
Returns the nested combination of this property and the specified detail value property. Note that because this property is a projection of value properties over a values collection, the only modifications supported are through the IObservableMap.put(Object, Object) and Map.putAll(java.util.Map) methods. In the latter case, this property does not entries for keys not already contained in the master map's key set. Modifications made through the returned property are delegated to the detail property, using the corresponding entry value from the master property as the source.

Parameters:
detailValues - the detail property
Returns:
the nested combination of the master map and detail value properties.

Eclipse Platform
Release 3.6

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2010. All rights reserved.