Code Generation Template im Enterprise Architect modifizieren
12. März 2010 Roland
Bisher verwendete ich den Enterprise Architect (EA) ohne an den Templates herumzuwurschteln.
Das hatte den Hintergrund, da ich zum Einen mich nicht in das System zu tief einlernen wollte (keine Zeit) und zum Anderen konnten meine generierten Klassen hinterher einmal kurz manuell überarbeitet werden und das kostete mich nur ein paar Handgriffe.
Will heißen, dass die Standard Konfiguration für mich (fast) ausreichend war und den Rest konnte ich ohne große Mühe anpassen.
Jetzt habe ich aber den Best Practice Workshop hinter mir und die Ausrede “das kostet doch kaum Zeit” zieht jetzt natürlich nicht mehr. Ich will den EA jetzt komplett verstehen und die einzelnen Features aus wirklich nutzen.
Wenn du die Code Generation Templates anschaust (Settings->Code Generation Templates..) kannst du bereits vorhandene Sprachen auswählen.
Beispielsweise habe ich hier PHP ausgewählt.
Reihenfolge der Template Abarbeitung
Wenn du den Sourcecode generieren lässt (z.B. mit Project->Source Code Engineering->Generate Package Source Code… oder direkt wenn du eine Klasse auswählst und F11 drückst, wird das einzelne Klassenelement im EA ausgelesen und die einzelnen Templates aufgerufen. Gestartet wird mit dem File Template.
Am Beispiel von PHP ergibt sich, wenn man durch die Templates geht folgende Reihenfolge:
- File Hier kannst du z.B. allgemeine Copyright Informationen einfügen.
- Class In diesem Template stehen die Notizen zur Klasse, dann die Klassendeklaration und der Body der Klasse. Somit werden die Templates Class Notes, Class Declaration und Class Body nacheinander aufgerufen.
In diesem Template habe ich übrigens schon eine kleine Änderung angebracht.
Mich hat gestört, dass bei Klassen die Body-Klammer nicht nach der Deklaration sondern in der nächsten Zeile eingefügt wurden.
Wie du sehen kannst, habe ich jetzt im Template direkt nach der Klassen-Deklaration die Klammer geöffnet.
Im Class Body musste ich dann natürlich die öffnende Klammer entfernen.
Das Ganze ist zwar ein bisschen Gefummel, wenn man es aber mal verstanden hat, kann man da sehr schön die einzelnen Komponenten seinen Bedürfnissen anpassen.
Du musst einfach nur immer die einzelnen Zeilen interpretieren und erkennen was da aufgerufen wird.
Danach läuft der EA-Parser durch die Templates und ruft nacheinander (unter Umständen natürlich mehrmals) die einzelnen Templates auf.
Da die Anpassungen an den Templates, solange es sich nur um ein bisschen Klammersetzung handelt, sehr schnell durchgeführt werden kann, spart man sich über lange gesehen doch sehr viel Arbeit.
Kleiner Tipp wenn das Template nicht verwendet wird
Mir ist da ein Fehler unterlaufen als ich meine Templates ausprobieren wollte.
Wenn du die Klasse generieren lässt, wird normalerweise der Code nicht komplett überschrieben sondern nur angepasst. Das ergibt mehr als Sinn, da du normalerweise im Code programmierst und der EA dir ansonsten auch dein Content komplett überschreibst.
Falls du aber Templates ausprobieren willst, solltest du deine Testklasse mit rechter Maustaste auswählen (Generate Code), und dann bei Advanced die Checkbox Replace (overwrite) existing code auswählen.
Damit stellst du sicher, dass dein Code auch tatsächlich mit den veränderten Templates generiert wird.
Ich wäre fast verzweifelt, warum mein Code sich einfach nicht ändern wollte
Artikel mit ähnlichen Schlagwörtern
Der Beitrag wurde am Freitag, den 12. März 2010 um 00:15 Uhr veröffentlicht und wurde unter Guggat emol, IT abgelegt.
Dir gefiel der Artikel? Dann abonniere doch den RSS Feed![]()
Du kannst die Kommentare zu diesem Eintrag durch den RSS 2.0 Feed verfolgen. Du kannst einen Kommentar schreiben, oder einen Trackback auf deiner Seite einrichten.









In der Schule lerne ich derzeit Phyton und Delphi, obwohl ich eigentlich finde, dass wir uns eher moderneren Sprachen witmen sollten. Gerade PHP ist heutzutage sehr wichtig und die Grundlagen sind sehr gut verständlich. Wahrscheinlich möchten die Kultusministerien aber, dass wir logisches Denken mit Delphi und Co. lernen, um besondere Abläufe kennenzulernen.
Hi Felix,
das ist die Positive Darstellung

Im Prinzip ist es natürlich egal mit was für einer Programmiersprache man die Abläufe und Zusammenhänge lernt.
Wenn du eine hast, ist der Umstieg auf Andere nicht sehr schwer.
Meine Meinung ist jedoch, dass unsere Schulen sich sehr schwer tun mit einigermassen aktuellen Lehrplänen.
Gründe hierfür sind:
- Schlecht ausgebildete Lehrer
- Kein Interesse wirklich Neues zu erlernen
- Hoher Aufwand um das Unterrichtsmaterial zu ändern.
Der letzte Punkt gilt für die Lehrer, die ja den Unterricht vorbereiten müssen, aber vor allem auch für das Lehrmaterial.
Die Kosten für die Neuerstellung sind sehr hoch.
Beispiel:
Wenn ich einen Kurs erstelle muss ich für eine Stunde Kurs etwa fünf Stunden Vorbereitung investieren.
Das ist schon teuer
Die Frage ist hier nur warum wir Ausbildungen durchführen. Ihr sollt ja nach der Schule konkurrenzfähig zu anderen sein.
Wenn ihr nur “altes Zeug” beigebracht bekommt, dann müsst ihr hinterher noch einiges “Nachlernen”…