Code Generator
Code Generator ist eine integrierte MapForce-Funktionalität, mit Hilfe derer Sie Code anhand von Mapping-Dateien generieren können. Bei der Code Generierung wird eine voll funktionsfähige und vollständige Applikation generiert, die das Mapping für Sie durchführt. Nachdem Sie den Code generiert haben, können Sie das Mapping ausführen, indem Sie die Applikation, so wie sie generiert wurde, direkt ausführen. Sie können den generierten Code auch in Ihre eigene Applikation importieren und ihn durch Ihre eigenen Funktionen ergänzen.
Informationen zur Unterstützung
Die nachstehende Tabelle enthält einen Überblick über die Unterstützung für C++, C# und Java.
Zielsprache | C++ | C# | Java |
---|---|---|---|
Entwicklungsumgebungen | Microsoft Visual Studio 2013, 2015, 2017, 2019, 2022 | Microsoft Visual Studio 2013, 2015, 2017, 2019, 2022
Ziel-Frameworks:
•.NET Framework •.NET Core 3.1 •.NET 5.0 •.NET 6.0 •.NET 8.0 | Java SE JDK 8, 11, 17, 21 (einschließlich OpenJDK) Eclipse 4.4 oder höher Apache Ant (build.xml-Datei) |
XML DOM Implementierungen | MSXML 6.0 Apache Xerces 3 | System.Xml | JAXP |
Datenbank API | ADO | ADO.NET | JDBC |
Anmerkung: | Der mit MapForce generierte Code gilt nur dann als threadsicher, wenn es die zugrunde liegenden Drittanbieter-XML DOM und Datenbank API-Bibliotheken sind. Zwar kann die Threadsicherheit des generierten Code nicht wirklich garantiert oder gewährleistet werden, doch lassen sich wahrscheinlich in den meisten Fällen mehrere gleichzeitige Instanzen des Mapping-Code erfolgreich ausführen. |
C++
Sie können konfigurieren, ob der generierte C++-Ausgabecode MSXML 6.0 oder Apache Xerces 3 verwenden soll. Bei der C++-Codegenerierung werden in MapForce komplette Projekt- (.vcproj) und Solution- (.sln)-Dateien für alle unterstützten Versionen von Visual Studio (siehe Tabelle oben) generiert. Der generierte Code unterstützt optional MFC.
Beachten Sie dabei die folgenden Voraussetzungen:
•Für die Kompilierung des generierten C++-Codes muss Windows SDK auf Ihrem Rechner installiert sein.
•Um Xerces 3 für C++ verwenden zu können, müssen Sie es nach der Anleitung auf der Apache Xerces-Seite installieren und bauen. Dabei muss die Umgebungsvariable XERCES3, die auf das Verzeichnis verweist, in dem Xerces installiert wurde, hinzugefügt werden (z.B. C:\xerces-c-3.2.2). Außerdem muss die Umgebungsvariable PATH den Pfad inkludieren, unter dem sich die Xerces-Binärdateien befinden (z.B. %XERCES3%\bin).
•Beim Erstellen von C++-Code für Visual Studio und bei Verwendung einer für Visual C++ vorkompilierten Xerces-Bibliothek muss die Compiler-Einstellung in allen Projekten der Projektmappe geändert werden. Gehen Sie folgendermaßen vor:
a)Wählen Sie alle Projekte im Solution Explorer aus.
b)Klicken Sie im Menü Projekt auf Eigenschaften.
c)Klicken Sie auf Konfigurationseigenschaften | C/C++ | Sprache.
d)Wählen Sie in der Liste der Konfigurationen Alle Konfigurationen.
e)Ändern Sie Treat wchar_t as Built-in Type in No (/Zc:wchar_t-).
C#
Der generierte C#-Code kann von jeder .NET-fähigen Programmiersprache verwendet werden, z.B. VB.NET, Managed C++ oder J#. Projektdateien können für alle unterstützten Versionen von Visual Studio generiert werden (siehe Tabelle oben).
Java
Der generierte Java-Code wird anhand der "Java API for XML Processing" (JAXP) geschrieben und enthält eine Ant build-Datei sowie Projektdateien für die unterstützten Versionen von Java und Eclipse (siehe Tabelle oben).
Generieren, Bauen, Ausführen und Integrieren von Code
Eine Anleitung dazu, wie Sie Code generieren, bauen und ausführen, finden Sie unter Generieren, Bauen und Ausführen von Code. Nähere Informationen zum Integrieren von mit MapForce generiertem Code in Ihren benutzerdefinierten Code finden Sie unter Integrieren von generiertem Code.
Codegenerierungsvorlagen
Der generierte Code wird über eine in einer Vorlagensprache namens SPL (Spy Programming Language) geschriebene Vorlage gebaut. Sie können die für die Codegenerierung verwendete Vorlage anpassen. Dies ist unter Umständen hilfreich, wenn Sie Code z.B. gemäß den Codekonventionen Ihres Unternehmens anpassen möchten oder bestimmte Bibliotheken im generierten Code ersetzen möchten.
Beispiele
Beispiele zur Codegenerierung finden Sie unter Beispiel: Book Library und Beispiel: Bestellung.