Ejemplo n.º 1
0
        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);
                 */
            }
        }