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/observable/ThreadRealmTest.java
assertEquals(0, counter.count);
        value.getRealm().exec(new Runnable() {
            public void run() {
                assertTrue("Realm was not the current.", threadRealm.isCurrent());
                value.setValue(endValue);
            }
        });
        
        
        synchronized (counter) {
            while (counter.count == 0) {
                counter.wait();
            }
                        
            threadRealm.unblock();
        }
        assertFalse("ThreadRealm should not be blocking.", threadRealm.isBlocking());
        assertEquals("Value change event count was incorrect.", 1, counter.count);
        assertEquals("Thread of the value change event was not the realm thread.",
                threadRealm.getThread(),
                counter.changeEventThread);
        assertFalse("ThreadRealm should not be the current realm.", threadRealm.isCurrent());
        assertNull("Default realm should be null", Realm.getDefault());
    }
    /**
     * Tracks value change events. Synchronizes on <code>this</code>.
     * 
     * @since 3.2
     */
    private static class ValueChangeCounter implements IValueChangeListener {