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/validation/IDomainValidator.java
* a binding (via an BindSpec), then it will be applied immediately before
 * a value is stored in the model object.  This validator operates in the
 * model's data type (after the conversion function object has been applied,
 * if applicable) and is responsible for applying range checks, special
 * formatting requirements, and so on.
 * <p>
 * 
 * FIXME: This is wrong.  See bug #128142.  Eventually this class will go away
 * and be replaced entirely by IValidator.
 * 
 * <strong>EXPERIMENTAL</strong>. This class or interface has been added as
 * part of a work in progress. There is no guarantee that this API will remain
 * unchanged during the 3.2 release cycle. Please do not use this API without
 * consulting with the Platform/UI team.
 * </p>
 * 
 * @since 1.0
 *
 */
public interface IDomainValidator {
	/**
	 * Determines if the given value is valid.
	 * 
	 * @param value
	 *            the value to validate
	 * @return the error message, or </code>null</code> if the value is valid.
	 */
	public ValidationError isValid(Object value);
}