public override void Execute(ES.Environment env) { foreach(object o in (IEnumerable)env.InputModel) { env.PushState(); env.CurrentInputElement = o; System.Console.WriteLine("objeto en push " +o); env.Expert.Process(); env.PopState(); } }
public override void Execute(ES.Environment env) { UML.Class cls = (UML.Class)env.CurrentInputElement; foreach(UML.Property attribute in cls.Attribute) { env.PushState(); env.CurrentInputElement = attribute; env.Expert.Process(); env.PopState(); } }
public override void Execute(ES.Environment env) { UML.Package pkg = env.CurrentInputElement as UML.Package; foreach(UML.Type type in pkg.OwnedType) { type.Package = pkg; if(env.VerboseLevel>=2) Console.WriteLine(" - NavigatePackageRule: cie=" + ((UML.NamedElement)type).Name); env.PushState(); env.CurrentInputElement = type; env.Expert.Process(); env.PopState(); } foreach(UML.Package nestedPkg in pkg.NestedPackage) { nestedPkg.NestingPackage = pkg; env.PushState(); env.CurrentInputElement = nestedPkg; env.Expert.Process(); env.PopState(); } }
public override void Execute(ES.Environment env) { UML.Class umlClass = (UML.Class)env.CurrentInputElement; TT.Table tbl = new TT.Table(umlClass); tbl.TableName = umlClass.Name; tbl.IsAbstract = umlClass.IsAbstract; tbl.IsSealed = umlClass.IsLeaf; UML.Package pkg = umlClass.Package; if(pkg!=null) { tbl.SchemaName = pkg.QualifiedName.Replace("::", "."); } env.PushState(); env.CurrentOutputElement = tbl; env.Expert.Process(); env.PopState(); }