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/set/UnionSet.java
private ISetChangeListener childSetChangeListener = new ISetChangeListener() {
		public void handleSetChange(IObservableSet source, SetDiff diff) {
			processAddsAndRemoves(diff.getAdditions(), diff.getRemovals());
		}
	};
	private IStalenessConsumer stalenessConsumer = new IStalenessConsumer() {
		public void setStale(boolean stale) {
			boolean oldStale = UnionSet.this.stale;
			UnionSet.this.stale = stale;
			if (stale && !oldStale) {
				fireStale();
			}
		}
	};
	public boolean isStale() {
		if (refCounts != null) {
			return stale;
		}
		for (int i = 0; i < childSets.length; i++) {
			IObservableSet childSet = childSets[i];
			if (childSet.isStale()) {
				return true;
			}
		}
		return false;
	}
	private void processAddsAndRemoves(Set adds, Set removes) {
		Set addsToFire = new HashSet();
		Set removesToFire = new HashSet();
		for (Iterator iter = adds.iterator(); iter.hasNext();) {