# Class ListBinding<M,T>

java.lang.Object
org.eclipse.core.databinding.ValidationStatusProvider
org.eclipse.core.databinding.Binding
org.eclipse.core.databinding.ListBinding<M,T>

Type Parameters:
  `M` - the type of the elements in the list on the model side
  `T` - the type of the elements in the list on the target side

public class ListBinding<M,T> extends Binding

Since:
  1.0

## Field Summary

### Fields inherited from class Binding

`context`

### Fields inherited from class ValidationStatusProvider

`disposed`

## Constructor Summary

Constructors
Constructor
Description
`ListBinding(IObservableList<T> target, IObservableList<M> model, UpdateListStrategy<? super T, ? extends M> targetToModelStrategy, UpdateListStrategy<? super M, ? extends T> modelToTargetStrategy)`

## Method Summary

Modifier and Type
Method
Description
`void`
`dispose()`
Disposes of this Binding.
`IObservableValue<IStatus>`
`getValidationStatus()`
`protected void`
`postInit()`
Called by `Binding.init(DataBindingContext)` after adding this binding to the context.
`protected void`
`preInit()`
Called by `Binding.init(DataBindingContext)` after setting `Binding.context` but before adding this binding to the context.
`void`
`updateModelToTarget()`
Updates the target's state from the model's state at the next reasonable opportunity.
`void`
`updateTargetToModel()`
Updates the model's state from the target's state at the next reasonable opportunity.
`void`
`validateModelToTarget()`
Validates the model's state at the next reasonable opportunity.
`void`
`validateTargetToModel()`
Validates the target's state at the next reasonable opportunity.

### Methods inherited from class Binding

`getModel, getModels, getTarget, getTargets, init`

### Methods inherited from class ValidationStatusProvider

`isDisposed`

### Methods inherited from class Object

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

## Constructor Details

### ListBinding

public ListBinding(IObservableList<T> target, IObservableList<M> model, UpdateListStrategy<? super T, ? extends M> targetToModelStrategy, UpdateListStrategy<? super M, ? extends T> modelToTargetStrategy)

Parameters:
  `target` - the target side list
  `model` - the model side list
  `targetToModelStrategy` - strategy to copy target to model elements
  `modelToTargetStrategy` - strategy to copy model to target elements

## Method Details

### getValidationStatus

public IObservableValue<IStatus> getValidationStatus()

Specified by:
  `getValidationStatus` in class `ValidationStatusProvider`
Returns:
  an `IObservableValue` containing the current validation status

### preInit

protected void preInit()
Description copied from class: `Binding`
Called by `Binding.init(DataBindingContext)` after setting `Binding.context` but before adding this binding to the context. Subclasses may use this method to perform initialization that could not be done in the constructor. Care should be taken not to cause any events while running this method.

Specified by:
  `preInit` in class `Binding`

### postInit

protected void postInit()
Description copied from class: `Binding`
Called by `Binding.init(DataBindingContext)` after adding this binding to the context. Subclasses may use this method to perform initialization that may cause events to be fired, including BindingEvents that are forwarded to the data binding context.

Specified by:
  `postInit` in class `Binding`

### updateModelToTarget

public void updateModelToTarget()
Description copied from class: `Binding`
Updates the target's state from the model's state at the next reasonable opportunity. There is no guarantee that the state will have been updated by the time this call returns.

Specified by:
  `updateModelToTarget` in class `Binding`

### updateTargetToModel

public void updateTargetToModel()
Description copied from class: `Binding`
Updates the model's state from the target's state at the next reasonable opportunity. There is no guarantee that the state will have been updated by the time this call returns.

Specified by:
  `updateTargetToModel` in class `Binding`

### validateModelToTarget

public void validateModelToTarget()
Description copied from class: `Binding`
Validates the model's state at the next reasonable opportunity. There is no guarantee that the validation status will have been updated by the time this call returns.

Specified by:
  `validateModelToTarget` in class `Binding`

### validateTargetToModel

public void validateTargetToModel()
Description copied from class: `Binding`
Validates the target's state at the next reasonable opportunity. There is no guarantee that the validation status will have been updated by the time this call returns.

Specified by:
  `validateTargetToModel` in class `Binding`

### dispose

public void dispose()
Description copied from class: `Binding`
Disposes of this Binding. Subclasses may extend, but must call super.dispose().

Overrides:
  `dispose` in class `Binding`