Ecologylab.BigSemantics.MetaMetadataNS.MetaMetadataCompositeField.GenerateMetaMetadata C# (CSharp) Метод

GenerateMetaMetadata() защищенный Метод

protected GenerateMetaMetadata ( String previousName, MetaMetadata inheritedMmd ) : MetaMetadata
previousName String
inheritedMmd MetaMetadata
Результат MetaMetadata
        protected MetaMetadata GenerateMetaMetadata(String previousName, MetaMetadata inheritedMmd)
        {
            String generatedName = getGeneratedMmdName2(previousName);

            // generate the mmd and set attributes
            MetaMetadata generatedMmd = new MetaMetadata
                                            {
                                                Name = generatedName,
                                                PackageName = PackageName,
                                                Type = null,
                                                TypeMmd = inheritedMmd,
                                                ExtendsAttribute = inheritedMmd.Name,
                                                Repository = Repository,
                                                Visibility = Visibility.PACKAGE,
                                                Scope =
                                                    new MmdScope(this.Scope,
                                                                                         inheritedMmd.Scope)
                                            };
            if (SchemaOrgItemtype != null)
                generatedMmd.SchemaOrgItemtype = SchemaOrgItemtype;
            generatedMmd.SetNewMetadataClass(true);

            // move nested fields (they will be cloned later)
            if (kids != null && kids.Count > 0)
            {
                foreach (String kidKey in this.kids.Keys)
                {
                    MetaMetadataField kid;
                    kids.TryGetValue(kidKey, out kid);
                    generatedMmd.Kids.Put(kidKey, kid);
                    kid.Parent = generatedMmd;
                }
                kids.Clear();
            }
            MakeThisFieldUseMmd(previousName, generatedMmd);
            return generatedMmd;
        }