Eclipse Platform
Release 3.3

org.eclipse.core.databinding
Class DataBindingContext

java.lang.Object
  extended byorg.eclipse.core.databinding.DataBindingContext

public class DataBindingContext
extends Object

A DataBindingContext is the point of contact for the creation and management of bindings.

A DataBindingContext provides the following abilities:

Multiple contexts can be used at any point in time. One strategy for the management of contexts is the aggregation of validation statuses. For example an IWizardPage could use a single context and the statuses could be aggregated to set the page status and fulfillment. Each page in the IWizard would have its own context instance.

Since:
1.0

Constructor Summary
DataBindingContext()
          Creates a data binding context, using the current default realm for the validation observables.
DataBindingContext(Realm validationRealm)
          Creates a data binding context using the given realm for the validation observables.
 
Method Summary
 void addBinding(Binding binding)
          Adds the given binding to this data binding context.
 Binding bindList(IObservableList targetObservableList, IObservableList modelObservableList, UpdateListStrategy targetToModel, UpdateListStrategy modelToTarget)
          Creates a Binding to synchronize the values of two observable lists.
 Binding bindValue(IObservableValue targetObservableValue, IObservableValue modelObservableValue, UpdateValueStrategy targetToModel, UpdateValueStrategy modelToTarget)
          Creates a Binding to synchronize the values of two observable values.
protected  UpdateListStrategy createModelToTargetUpdateListStrategy(IObservableList modelObservableList, IObservableList targetObservableList)
           
protected  UpdateValueStrategy createModelToTargetUpdateValueStrategy(IObservableValue fromValue, IObservableValue toValue)
          Returns an update value strategy to be used for copying values from the from value to the to value.
protected  UpdateListStrategy createTargetToModelUpdateListStrategy(IObservableList targetObservableList, IObservableList modelObservableList)
           
protected  UpdateValueStrategy createTargetToModelUpdateValueStrategy(IObservableValue fromValue, IObservableValue toValue)
          Returns an update value strategy to be used for copying values from the from value to the to value.
 void dispose()
          Disposes of this data binding context and all bindings that were added to this context.
 IObservableList getBindings()
          Returns an unmodifiable observable list with elements of type Binding, ordered by time of addition.
 Realm getValidationRealm()
          Returns the validation realm.
 IObservableMap getValidationStatusMap()
          Returns an observable map from bindings (type: Binding) to statuses (type: IStatus).
 boolean removeBinding(Binding binding)
          Removes the given binding.
 void updateModels()
          Updates all model observable objects to reflect the current state of the target observable objects.
 void updateTargets()
          Updates all target observable objects to reflect the current state of the model observable objects.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DataBindingContext

public DataBindingContext()
Creates a data binding context, using the current default realm for the validation observables.

See Also:
Realm

DataBindingContext

public DataBindingContext(Realm validationRealm)
Creates a data binding context using the given realm for the validation observables.

Parameters:
validationRealm - the realm to be used for the validation observables
See Also:
Realm
Method Detail

bindValue

public final Binding bindValue(IObservableValue targetObservableValue,
                               IObservableValue modelObservableValue,
                               UpdateValueStrategy targetToModel,
                               UpdateValueStrategy modelToTarget)
Creates a Binding to synchronize the values of two observable values. During synchronization validation and conversion can be employed to customize the process. For specifics on the customization of the process see UpdateValueStrategy.

Parameters:
targetObservableValue - target value, commonly a UI widget
modelObservableValue - model value
targetToModel - strategy to employ when the target is the source of the change and the model is the destination
modelToTarget - strategy to employ when the model is the source of the change and the target is the destination
Returns:
created binding
See Also:
UpdateValueStrategy

createModelToTargetUpdateValueStrategy

protected UpdateValueStrategy createModelToTargetUpdateValueStrategy(IObservableValue fromValue,
                                                                     IObservableValue toValue)
Returns an update value strategy to be used for copying values from the from value to the to value. Clients may override.

Parameters:
fromValue -
toValue -
Returns:
a update value strategy

createTargetToModelUpdateValueStrategy

protected UpdateValueStrategy createTargetToModelUpdateValueStrategy(IObservableValue fromValue,
                                                                     IObservableValue toValue)
Returns an update value strategy to be used for copying values from the from value to the to value. Clients may override.

Parameters:
fromValue -
toValue -
Returns:
a update value strategy

bindList

public final Binding bindList(IObservableList targetObservableList,
                              IObservableList modelObservableList,
                              UpdateListStrategy targetToModel,
                              UpdateListStrategy modelToTarget)
Creates a Binding to synchronize the values of two observable lists. During synchronization validation and conversion can be employed to customize the process. For specifics on the customization of the process see UpdateListStrategy.

Parameters:
targetObservableList - target list, commonly a list representing a list in the UI
modelObservableList - model list
targetToModel - strategy to employ when the target is the source of the change and the model is the destination
modelToTarget - strategy to employ when the model is the source of the change and the target is the destination
Returns:
created binding
See Also:
UpdateListStrategy

createModelToTargetUpdateListStrategy

protected UpdateListStrategy createModelToTargetUpdateListStrategy(IObservableList modelObservableList,
                                                                   IObservableList targetObservableList)
Parameters:
modelObservableList -
targetObservableList -
Returns:
an update list strategy

createTargetToModelUpdateListStrategy

protected UpdateListStrategy createTargetToModelUpdateListStrategy(IObservableList targetObservableList,
                                                                   IObservableList modelObservableList)
Parameters:
targetObservableList -
modelObservableList -
Returns:
an update list strategy

dispose

public final void dispose()
Disposes of this data binding context and all bindings that were added to this context.


getBindings

public final IObservableList getBindings()
Returns an unmodifiable observable list with elements of type Binding, ordered by time of addition.

Returns:
the observable list containing all bindings

getValidationStatusMap

public final IObservableMap getValidationStatusMap()
Returns an observable map from bindings (type: Binding) to statuses (type: IStatus). The keys of the map are the bindings returned by getBindings(), and the values are the current validaion status objects for each binding.

Returns:
the observable map from bindings to status objects.

addBinding

public void addBinding(Binding binding)
Adds the given binding to this data binding context.

Parameters:
binding - The binding to add.

updateModels

public final void updateModels()
Updates all model observable objects to reflect the current state of the target observable objects.


updateTargets

public final void updateTargets()
Updates all target observable objects to reflect the current state of the model observable objects.


removeBinding

public boolean removeBinding(Binding binding)
Removes the given binding.

Parameters:
binding -
Returns:
true if was associated with the context, false if not

getValidationRealm

public final Realm getValidationRealm()
Returns the validation realm.

Returns:
the realm for the validation observables
See Also:
Realm

Eclipse Platform
Release 3.3

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2007. All rights reserved.