Beispiel #1
0
        /// <summary>
        /// Generates a attribute definition
        /// </summary>
        /// <param name="aAttribute">The attribute that is going to be transfered</param>
        /// <returns>A attribute predefinition</returns>
        private UnknownAttributePredefinition GenerateUnknownAttribute(AttributeDefinition myAttributeDefinition)
        {
            UnknownAttributePredefinition result = 
                new UnknownAttributePredefinition(myAttributeDefinition.AttributeName, 
                                                    myAttributeDefinition.AttributeType.Name);

            if (myAttributeDefinition.DefaultValue != null)
                result.SetDefaultValue(myAttributeDefinition.DefaultValue.ToString());

            switch (myAttributeDefinition.AttributeType.Type)
            {
                case SonesGQLGrammar.TERMINAL_SET:
                    result.SetMultiplicityAsSet();
                    break;

                case SonesGQLGrammar.TERMINAL_LIST:
                    result.SetMultiplicityAsList();
                    break;
            }

            return result;
        }
        /// <summary>
        /// Generates a attribute definition
        /// </summary>
        /// <param name="aAttribute">The attribute that is going to be transfered</param>
        /// <returns>A attribute predefinition</returns>
        private UnknownAttributePredefinition GenerateUnknownAttribute(KeyValuePair<AttributeDefinition, string> aAttribute)
        {
            UnknownAttributePredefinition result = new UnknownAttributePredefinition(aAttribute.Key.AttributeName, aAttribute.Value);
            
            if (aAttribute.Key.AttributeType.EdgeType != null)
            {
                result.SetInnerEdgeType(aAttribute.Key.AttributeType.EdgeType);
            }

            if (aAttribute.Key.DefaultValue != null)
            {
                result.SetDefaultValue(aAttribute.Key.DefaultValue.ToString());
            }

            switch (aAttribute.Key.AttributeType.Type)
            {
                case SonesGQLGrammar.TERMINAL_SET:

                    result.SetMultiplicityAsSet();

                    break;

                case SonesGQLGrammar.TERMINAL_LIST:

                    result.SetMultiplicityAsList();

                    break;
            }

            if (aAttribute.Key.DefaultValue != null)
                result.SetDefaultValue(aAttribute.Key.DefaultValue.ToString());


            if (aAttribute.Key.AttributeType.TypeCharacteristics.IsMandatory)
                result.SetAsMandatory();

            if (aAttribute.Key.AttributeType.TypeCharacteristics.IsUnique)
                result.SetAsUnique();



            return result;
        }