internal static UmlDataTypeSpec Convert(IdSchemeSpec idSchemeSpec)
        {
            var umlDataTypeSpec = new UmlDataTypeSpec
            {
                Stereotype   = "IDSCHEME",
                Name         = idSchemeSpec.Name,
                TaggedValues = new[]
                {
                    new UmlTaggedValueSpec("businessTerm", idSchemeSpec.BusinessTerms),
                    new UmlTaggedValueSpec("definition", idSchemeSpec.Definition),
                    new UmlTaggedValueSpec("dictionaryEntryName", idSchemeSpec.DictionaryEntryName)
                    {
                        DefaultValue = GenerateDictionaryEntryNameDefaultValue(idSchemeSpec)
                    },
                    new UmlTaggedValueSpec("identifierSchemeAgencyIdentifier", idSchemeSpec.IdentifierSchemeAgencyIdentifier),
                    new UmlTaggedValueSpec("identifierSchemeAgencyName", idSchemeSpec.IdentifierSchemeAgencyName),
                    new UmlTaggedValueSpec("modificationAllowedIndicator", idSchemeSpec.ModificationAllowedIndicator),
                    new UmlTaggedValueSpec("pattern", idSchemeSpec.Pattern),
                    new UmlTaggedValueSpec("restrictedPrimitive", idSchemeSpec.RestrictedPrimitive),
                    new UmlTaggedValueSpec("uniqueIdentifier", idSchemeSpec.UniqueIdentifier)
                    {
                        DefaultValue = GenerateUniqueIdentifierDefaultValue(idSchemeSpec)
                    },
                    new UmlTaggedValueSpec("versionIdentifier", idSchemeSpec.VersionIdentifier),
                },
            };

            return(umlDataTypeSpec);
        }
Пример #2
0
 public IIdScheme UpdateIdScheme(IIdScheme idScheme, IdSchemeSpec specification)
 {
     throw new NotImplementedException();
 }
Пример #3
0
 public IIdScheme CreateIdScheme(IdSchemeSpec specification)
 {
     throw new NotImplementedException();
 }
 /// <summary>
 /// Updates a IDSCHEME to match the given <paramref name="specification"/>.
 /// <param name="idScheme">A IDSCHEME.</param>
 /// <param name="specification">A new specification for the given IDSCHEME.</param>
 /// <returns>The updated IDSCHEME. Depending on the implementation, this might be the same updated instance or a new instance!</returns>
 /// </summary>
 public IIdScheme UpdateIdScheme(IIdScheme idScheme, IdSchemeSpec specification)
 {
     return(new UpccIdScheme(UmlPackage.UpdateDataType(((UpccIdScheme)idScheme).UmlDataType, IdSchemeSpecConverter.Convert(specification))));
 }
 /// <summary>
 /// Creates a IDSCHEME based on the given <paramref name="specification"/>.
 /// <param name="specification">A specification for a IDSCHEME.</param>
 /// <returns>The newly created IDSCHEME.</returns>
 /// </summary>
 public IIdScheme CreateIdScheme(IdSchemeSpec specification)
 {
     return(new UpccIdScheme(UmlPackage.CreateDataType(IdSchemeSpecConverter.Convert(specification))));
 }
 private static string GenerateDictionaryEntryNameDefaultValue(IdSchemeSpec idSchemeSpec)
 {
     return(idSchemeSpec.Name);
 }
 private static string GenerateUniqueIdentifierDefaultValue(IdSchemeSpec idSchemeSpec)
 {
     return(Guid.NewGuid().ToString());
 }