| transformation mm_header3(in ecore : ECORE, out uml : SimpleUML, out ecore2 : RDB); |
| |
| modeltype ECORE uses "http://www.eclipse.org/emf/2002/Ecore"; |
| modeltype SimpleUML uses 'http://www.eclipse.org/qvt/1.0.0/Operational/examples/simpleuml'; |
| modeltype RDB uses 'http://www.eclipse.org/qvt/1.0.0/Operational/examples/rdb'; |
| |
| |
| mapping main() { |
| init { |
| ecore.objects()->select(c|c.oclIsKindOf(EClass))->collect(c|c.oclAsType(EClass).toClass1()); |
| ecore.objects()->select(c|c.oclIsKindOf(EClass))->collect(c|c.oclAsType(EClass).toClass2()); |
| ecore.objects()->select(c|c.oclIsKindOf(EClass))->collect(c|c.oclAsType(EClass).toTable()); |
| } |
| } |
| |
| mapping EClass::toClass1() : simpleuml::Class { |
| name := self.name + '_SimpleClass1'; |
| } |
| |
| mapping EClass::toClass2() : SimpleUML::Class { |
| name := self.name + '_SimpleClass2'; |
| } |
| |
| mapping EClass::toTable() : RDB::Table { |
| name := self.name + '_Table'; |
| } |