public bool validate(EDataType eDataType, Object value, DiagnosticChain diagnostics, Dictionary <object, object> context) { Object eValidator = eValidatorRegistry[eDataType.eContainer() as EPackage]; if (eValidator == null) { //TODO default case eValidator = null;// eValidatorRegistry.get(null); } return(doValidate((EValidator)eValidator, eDataType, value, diagnostics, context)); }
public virtual bool validate(EDataType eDataType, object value, DiagnosticChain diagnostics, Dictionary <object, object> context) { if (!eDataType.isInstance(value)) { if (value == null) { return(true); } else { if (diagnostics != null) { reportDataValueTypeViolation(eDataType, value, diagnostics, context); } return(false); } } if (eDataType.eContainer() == getEPackage()) { return(validate(eDataType.getClassifierID(), value, diagnostics, context)); } else { return(true); /*TODO * return * new DynamicEDataTypeValidator(eDataType) * { * // Ensure that the class loader for this class will be used downstream. * // * }.validate(eDataType, value, diagnostics, context); */ } }