hoTools.Find.FindAndReplaceItem.Factory C# (CSharp) 메소드

Factory() 공개 정적인 메소드

public static Factory ( EA rep, EA objectType, string GUID ) : FindAndReplaceItem
rep EA
objectType EA
GUID string
리턴 FindAndReplaceItem
        public static FindAndReplaceItem Factory(EA.Repository rep, EA.ObjectType objectType, string GUID)
        {
            switch (objectType)
            {
                case EA.ObjectType.otPackage:
                    return new FindAndReplaceItemPackage(rep, GUID);

                case EA.ObjectType.otElement:
                    return new FindAndReplaceItemElement(rep, GUID);

                case EA.ObjectType.otDiagram:
                    return new FindAndReplaceItemDiagram(rep, GUID);

                case EA.ObjectType.otAttribute:
                    return new FindAndReplaceItemAttribute(rep, GUID);

                case EA.ObjectType.otMethod:
                    return new FindAndReplaceItemMethod(rep, GUID);

                default: return null;
            }
        }
        #endregion

Usage Example

예제 #1
0
 /// <summary>
 /// Find matching tagged values for element
 /// </summary>
 /// <param name="rep"></param>
 /// <param name="pkg"></param>
 /// <param name="fr"></param>
 private static void FindMatchingPackageTaggedValue(EA.Repository rep, EA.Package pkg, FindAndReplace fr)
 {
     EA.Element el = rep.GetElementByGuid(pkg.PackageGUID);
     foreach (EA.TaggedValue tag in el.TaggedValues)
     {
         if ((fr.TagValueNames.Length == 0) || (fr.TagValueNames.Contains(tag.Name)))
         {
             int count = FindAndReplaceItem.FindCountForType(fr.RegexPattern, Utils.TaggedValue.GetTaggedValue(el, tag.Name));
             if (count > 0)
             {
                 // Create the searchers
                 FindAndReplaceItem frItem = fr.LastItem();
                 if ((frItem == null) || (frItem.Guid != el.ElementGUID))
                 {
                     frItem = FindAndReplaceItem.Factory(rep, EA.ObjectType.otPackage, el.ElementGUID);
                     fr.LItems.Add(frItem);
                 }
                 // Search
                 var frItemPkg = (FindAndReplaceItemPackage)frItem;
                 frItemPkg.LItemTag.Add(new FindAndReplaceItemTagPackage(tag));
                 frItemPkg.CountChanges = frItemPkg.CountChanges + count;
             }
         }
     }
 }
All Usage Examples Of hoTools.Find.FindAndReplaceItem::Factory