Eclipse Platform
Release 3.6

org.eclipse.core.databinding.property.list
Interface IListProperty

All Superinterfaces:
IProperty
All Known Subinterfaces:
IBeanListProperty, IViewerListProperty, IWidgetListProperty
All Known Implementing Classes:
DelegatingListProperty, ListProperty, MultiListProperty, SimpleListProperty, ViewerListProperty, WidgetListProperty

public interface IListProperty
extends IProperty

Interface for list-typed properties.

Since:
1.2
See Also:
ListProperty, SimpleListProperty
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 getElementType()
          Returns the type of the elements in the collection or null if untyped
 List getList(Object source)
          Returns an unmodifiable List with the current contents of the source's list property
 IObservableFactory listFactory()
          Returns a factory for creating observable lists tracking this property of a particular property source.
 IObservableFactory listFactory(Realm realm)
          Returns a factory for creating observable lists in the given realm, tracking this property of a particular property source.
 IObservableList observe(Object source)
          Returns an observable list observing this list property on the given property source
 IObservableList observe(Realm realm, Object source)
          Returns an observable list observing this list property on the given property source
 IObservableList observeDetail(IObservableValue master)
          Returns an observable list on the master observable's realm which tracks this property of the current value of master.
 void setList(Object source, List list)
          Updates the property on the source with the specified change Note: This method is made available to facilitate basic property access.
 void updateList(Object source, ListDiff diff)
          Updates the property on the source with the specified change Note: This method is made available to facilitate basic property access.
 IListProperty values(IValueProperty detailValue)
          Returns the nested combination of this property and the specified detail value property.
 

Method Detail

getElementType

Object getElementType()
Returns the type of the elements in the collection or null if untyped

Returns:
the type of the elements in the collection or null if untyped

getList

List getList(Object source)
Returns an unmodifiable List with the current contents of the source's list property

Parameters:
source - the property source (may be null)
Returns:
an unmodifiable List with the current contents of the source's list property
Since:
1.3

setList

void setList(Object source,
             List list)
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 IObservableList than through the property directly.

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

updateList

void updateList(Object source,
                ListDiff 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 IObservableList than through the property directly.

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

observe

IObservableList observe(Object source)
Returns an observable list observing this list property on the given property source

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

observe

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

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

listFactory

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

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

listFactory

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

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

observeDetail

IObservableList observeDetail(IObservableValue master)
Returns an observable list on the master observable's realm which tracks this property of the current value of master.

Parameters:
master - the master observable
Returns:
an observable list on the given realm which tracks this property of the current value of master.

values

IListProperty values(IValueProperty detailValue)
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 list, the only modification supported is through the IObservableList.set(int, Object) method. Modifications made through the returned property are delegated to the detail property, using the corresponding list element from the master property as the source.

Parameters:
detailValue - the detail property
Returns:
the nested combination of the master list 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.