Bug 167450 [DataBinding] Get rid of bind support factory magic
I finally realized that we don't need that other magic factory. I'll move fillBindSpecDefaults() and the methods it calls (createConverter, createValidator etc) to a new class DefaultBindSpec. Clients who want default validators and converters created for them just create a DefaultBindSpec as opposed to a (rather empty) BindSpec. I will also move the early type checking into DefaultBindSpec to make it optional as well.
bundles/org.eclipse.core.databinding/src/org/eclipse/core/internal/databinding/ValueBinding.java
validationErrorObservable.setValue(error);
		} finally {
			updatingModel = false;
		}
	}
	/**
	 * @param convertedValue
	 * @return String
	 */
	private IStatus doDomainValidation(Object convertedValue) {
		if (domainValidator == null) {
			return Status.OK_STATUS;
		}
		IStatus validationStatus = domainValidator.validate(convertedValue);
		return errMsg(validationStatus);
	}
	private IStatus doValidate(Object value) {
		if (targetValidator == null)
			return Status.OK_STATUS;
		IStatus validationStatus = targetValidator.validate(value);
		return errMsg(validationStatus);
	}
	private IStatus errMsg(final IStatus validationStatus) {
		Assert.isTrue(partialValidationErrorObservable.getRealm().equals(
				validationErrorObservable.getRealm()));
		partialValidationErrorObservable.getRealm().exec(new Runnable() {
			public void run() {
				partialValidationErrorObservable.setValue(Status.OK_STATUS);
				validationErrorObservable.setValue(validationStatus);
			}