Package org.eclipse.core.databinding.property.list

## Class DelegatingListProperty<S,​E>

- java.lang.Object
- - org.eclipse.core.databinding.property.list.ListProperty<S,​E>
  - - org.eclipse.core.databinding.property.list.DelegatingListProperty<S,​E>

Type Parameters:
  `S` - type of the source object
  `E` - type of the elements in the list

All Implemented Interfaces:
  `IProperty`, `IListProperty<S,​E>`

    public abstract class DelegatingListProperty<S,​E>
    extends ListProperty<S,​E>

Since:
  1.2

### Constructor Summary

Constructors
`protected` `DelegatingListProperty()`
`protected` `DelegatingListProperty​(Object elementType)`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`protected abstract IListProperty<S,​E>` `doGetDelegate​(S source)` Returns the property to delegate to for the specified source object.
`protected List<E>` `doGetList​(S source)` Returns a List with the current contents of the source's list property
`protected void` `doSetList​(S source, List<E> list)` Updates the property on the source with the specified change.
`protected void` `doUpdateList​(S source, ListDiff<E> diff)` Updates the property on the source with the specified change
`IListProperty<S,​E>` `getDelegate​(S source)` Returns the property to delegate to for the specified source object.
`Object` `getElementType()` Returns the type of the elements in the collection or `null` if untyped
`IObservableList<E>` `observe​(Realm realm, S source)` Returns an observable list observing this list property on the given property source
`IObservableList<E>` `observe​(S source)` Returns an observable list observing this list property on the given property source

### Methods inherited from class org.eclipse.core.databinding.property.list.ListProperty

`getList, listFactory, listFactory, observeDetail, setList, updateList, values`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### DelegatingListProperty

    protected DelegatingListProperty()

#### DelegatingListProperty

    protected DelegatingListProperty​(Object elementType)

### Method Detail

#### getDelegate

    public final IListProperty<S,​E> getDelegate​(S source)

Returns the property to delegate to for the specified source object. Repeated calls to this method with the same source object returns the same delegate instance.

Parameters:
  `source` - the property source (may be null)
Returns:
  the property to delegate to for the specified source object.

#### doGetDelegate

    protected abstract IListProperty<S,​E> doGetDelegate​(S source)

Returns the property to delegate to for the specified source object. Implementers must ensure that repeated calls to this method with the same source object returns the same delegate instance.

Parameters:
  `source` - the property source
Returns:
  the property to delegate to for the specified source object.

#### getElementType

    public Object getElementType()

Description copied from interface: `IListProperty`
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

#### doGetList

    protected List<E> doGetList​(S source)

Description copied from class: `ListProperty`
Returns a List with the current contents of the source's list property

Overrides:
  `doGetList` in class `ListProperty<S,​E>`
Parameters:
  `source` - the property source
Returns:
  a List with the current contents of the source's list property

#### doSetList

    protected void doSetList​(S source,
                             List<E> list)

Description copied from class: `ListProperty`
Updates the property on the source with the specified change.

Overrides:
  `doSetList` in class `ListProperty<S,​E>`
Parameters:
  `source` - the property source
  `list` - the new list

#### doUpdateList

    protected void doUpdateList​(S source,
                                ListDiff<E> diff)

Description copied from class: `ListProperty`
Updates the property on the source with the specified change

Overrides:
  `doUpdateList` in class `ListProperty<S,​E>`
Parameters:
  `source` - the property source
  `diff` - a diff describing the change

#### observe

    public IObservableList<E> observe​(S source)

Description copied from interface: `IListProperty`
Returns an observable list observing this list property on the given property source

Specified by:
  `observe` in interface `IListProperty<S,​E>`
Overrides:
  `observe` in class `ListProperty<S,​E>`
Parameters:
  `source` - the property source
Returns:
  an observable list observing this list property on the given property source

#### observe

    public IObservableList<E> observe​(Realm realm,
                                      S source)

Description copied from interface: `IListProperty`
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