Bug 118429 [DataBinding] Validation should use IStatus, not just Strings
In order to use data binding in Workbench or IDE dialogs and preference pages, we need validation in terms of IStatus objects. Using strings is too simplistic. For example, look at the wizard for creating a new class. You will get a warning if the class name does not start with an uppercase letter, or if you don't provide a package name, but you will still be able to click "Finish" to proceed anyway. (Note that IStatus is currently not on the classpath, we need to re-introduce the dependency on org.eclipse.equinox.common, which contains IStatus etc.)
bundles/org.eclipse.core.databinding/src/org/eclipse/core/databinding/DataBindingContext.java
public DataBindingContext() {
		this(null, Realm.getDefault(),
				new BindSupportFactory[] { new DefaultBindSupportFactory() });
	}
	/**
	 * Creates a data binding context set up with a
	 * {@link DefaultBindSupportFactory}, supplying converters and validators
	 * for common data types.
	 * 
	 * @param validationRealm
	 *            the realm to be used for the validation observables
	 */
	public DataBindingContext(Realm validationRealm) {
		this(null, validationRealm, new BindSupportFactory[]{new DefaultBindSupportFactory()});
	}
	
	/**
	 * @param parent
	 *            may be null
	 * @param validationRealm
	 *            the realm to be used for the validation observables
	 * @param factories
	 *            an array of bind support factories that will be consulted in
	 *            the given order when creating converters and validators.
	 */
	public DataBindingContext(DataBindingContext parent, Realm validationRealm, BindSupportFactory[] factories) {
		Assert.isNotNull(validationRealm);
		Assert.isNotNull(factories);
		this.parent = parent;
		if (parent != null) {