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
bundles/org.eclipse.core.databinding/src/org/eclipse/core/databinding/observable/value/AbstractVetoableValue.java
* listener vetoed the change.
	 * 
	 * @param diff
	 * @return false if the change was vetoed, true otherwise
	 */
	protected boolean fireValueChanging(ValueDiff diff) {
		checkRealm();
		
		if (valueChangingListeners != null) {
			IValueChangingListener[] listeners = (IValueChangingListener[]) valueChangingListeners
					.toArray(new IValueChangingListener[valueChangingListeners
							.size()]);
			for (int i = 0; i < listeners.length; i++) {
				boolean okToProceed = listeners[i].handleValueChanging(this,
						diff);
				if (!okToProceed) {
					return false;
				}
			}
		}
		return true;
	}
	protected boolean hasListeners() {
		return super.hasListeners();
	}
	public void dispose() {
		super.dispose();
	}
}