public override String convertToString(EDataType eDataType, object instanceValue) { switch (eDataType.getClassifierID()) { case Java_PackageImpl.ASSIGNMENTKIND: return(convertAssignmentKindToString(eDataType, instanceValue)); case Java_PackageImpl.INFIXEXPRESSIONKIND: return(convertInfixExpressionKindToString(eDataType, instanceValue)); case Java_PackageImpl.INHERITANCEKIND: return(convertInheritanceKindToString(eDataType, instanceValue)); case Java_PackageImpl.POSTFIXEXPRESSIONKIND: return(convertPostfixExpressionKindToString(eDataType, instanceValue)); case Java_PackageImpl.PREFIXEXPRESSIONKIND: return(convertPrefixExpressionKindToString(eDataType, instanceValue)); case Java_PackageImpl.VISIBILITYKIND: return(convertVisibilityKindToString(eDataType, instanceValue)); default: throw new ArgumentException("The datatype '" + eDataType.name + "' is not a valid classifier"); } }
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); */ } }