Bug 147530 [DataBinding] Provide event objects for change listeners
Before data binding goes 1.0 it would be wise to provide EventObjects for the following listeners to ensure that the API doesn't preclude future expansion of the values supplied to listeners. Interfaces that would be affected: * IValueChangeListener * IValueChangingListener * IListChangeListener * ISetChangeListener * IMappingChangeListener
tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/DatabindingContextTest.java
public void testBindList() throws Exception {
		DataBindingContext dbc = new DataBindingContext();
		IObservableList target = new WritableList();
		IObservableList model = new WritableList();
		Binding binding = dbc.bindList(target, model, null);
		assertTrue("binding is of the incorrect type",
				binding instanceof ListBinding);
	}
	/**
	 * Asserts that IStatus is populated and change events are fired when a
	 * Binding that is associated with a context is in error.
	 * 
	 * @throws Exception
	 */
	public void testValidationError() throws Exception {
		WritableValue targetObservable = new WritableValue(String.class);
		WritableValue modelObservable = new WritableValue(String.class);
		final String errorMessage = "error";
		DataBindingContext dbc = new DataBindingContext();
		ValueChangeCounter errorCounter = new ValueChangeCounter();
		ChangeCounter errorsCounter = new ChangeCounter();
		IObservableValue error = dbc.getValidationStatus();
		error.addValueChangeListener(errorCounter);
		assertTrue(((IStatus) error.getValue()).isOK());
		IObservableMap errors = dbc.getValidationStatusMap();
		errors.addChangeListener(errorsCounter);
		assertEquals(0, errors.size());
		IValidator validator = new IValidator() {
			public IStatus validate(Object value) {
				return ValidationStatus.error(errorMessage);