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/internal/databinding/internal/beans/JavaBeanObservableMapTest.java
assertEquals(0, listener.count);
		set.add(model3);
		assertEquals(1, listener.count);
		assertTrue(listener.diff.getAddedKeys().contains(model3));
		assertEquals(model3.getValue(), map.get(model3));
		String newValue = model3.getValue() + model3.getValue();
		model3.setValue(newValue);
		assertEquals(2, listener.count);
		assertEquals(3, map.size());
	}
	public void testRemoveKey() throws Exception {
		MapChangeListener listener = new MapChangeListener();
		map.addMapChangeListener(listener);
		assertEquals(0, listener.count);
		set.remove(model1);
		assertEquals(1, listener.count);
		assertFalse(listener.diff.getAddedKeys().contains(model1));
		assertFalse(listener.diff.getChangedKeys().contains(model1));
		assertTrue(listener.diff.getRemovedKeys().contains(model1));
		assertEquals(1, map.size());
	}
	private static class MapChangeListener implements IMapChangeListener {
		int count;
		MapDiff diff;
		public void handleMapChange(IObservableMap source, MapDiff diff) {
			count++;
			this.diff = diff;
		}
	}
	public static class Model {