Générateur de Code
Le générateur de code est une fonction MapForce intégrée qui vous permet de générer du code depuis des fichiers de mappage. Le résultat est une application complète proposant toutes les fonctions qui effectue l’opération de mappage pour vous. Une fois que vous générez le code, vous pouvez exécuter le mappage en exécutant l’application directement lors de la génération. Vous pouvez aussi importer le code généré dans votre propre application ou y ajouter vos propres fonctions.
Information relative à la prise en charge
La table ci-dessous résume l’information relative à la prise en charge de C++, C# et Java.
Langue cible | C++ | C# | Java |
---|---|---|---|
Environnements de développement | Microsoft Visual Studio 2013, 2015, 2017, 2019, 2022 | Microsoft Visual Studio 2013, 2015, 2017, 2019, 2022
Frameworks cible :
•.NET Framework •.NET Core 3.1 •NET 5.0 •NET 6.0 •NET 8.0 | Java SE JDK 8, 11, 17, 21 (y compris OpenJDK) Eclipse 4.4 ou plus Apache Ant (fichier build.xml) |
XML DOM implementations | MSXML 6.0 Apache Xerces 3 | System.Xml | JAXP |
Database API | ADO | ADO.NET | JDBC |
Note: | Le code généré par MapForce peut être considéré thread-safe uniquement si le DOM XML tiers sous-jacent et les bibliothèques API de base de données le sont. Bien que la sécurité thread du code généré ne peut pas vraiment être prouvée ou garantie, il est probable que, dans la plupart des cas, plusieurs instances concurrentes du code de mappage pourront être exécutées avec succès. |
C++
Vous pouvez configurer si vous souhaitez que la sortie générée C++ doit utiliser MSXML 6.0 ou Apache Xerces 3. MapForce génère des fichiers complets de projet (.vcproj) et de solution (.sln) pour toutes les versions prises en charge de Visual Studio (voir table ci-dessous). Le code généré prend en charge MFC on option.
Notez les exigences préalables suivantes :
•Pour compiler le code C++ généré, Windows SDK doit être installé sur votre ordinateur.
•Afin de pouvoir utiliser Xerces 3 pour C++, vous devrez l'installer et le construire utilisant la les instructions sous Apache Xerces page. Veuillez vous assurer d'ajouter la variable d'environnement XERCES3 qui pointe vers le répertoire dans lequel Xerces a été installé (par ex., C:\xerces-c-3.2.2). De même, la variable d'environnement PATH doit contenir le chemin dans lequel les binaires Xerces se trouvent ex.,%XERCES3%\bin).
•Lorsque vous construisez le code C++ pour Visual Studio et utilisez une bibliothèque Xerces précompilée pour Visual C++, vous devrez modifier le paramètre compilateur dans tous les projets de la solution. Suivez les étape ci-dessous :
a)Choisir tous les projets dans le Solution Explorer.
b)Cliquez sur Properties dans le menu Projet.
c)Cliquer sur Configuration Properties | C/C++ | Language.
d)Dans la liste des configurations, choisir All Configurations.
e)Modifier Treat wchar_t as Built-in Type en No (/Zc:wchar_t-)
C#
Le code C# généré peut être utilisé depuis tout langage de programmation compatible avec .NET, comme VB.NET, Managed C++ ou J#. Les fichiers de projet peuvent être générés pour toutes les versions prises en charge de Visual Studio (voir table ci-dessus).
Java
La sortie Java générée est écrite en conformité avec l'API Java de standard industriel pour XML Processing (JAXP) et comprend un fichier build Ant et des fichiers de projet pour les versions prises en charge de Java et Eclipse (voir table ci-dessus).
Générer, créer, exécuter et intégrer du code
Pour les instructions relatives à la génération, construction et exécution du code, voir Générer, Créer, et Exécuter le code. Pour les détails sur l’intégration du code généré par MapForce dans votre code personnalisé, voir Intégrer le code généré.
Modèles de génération de code
Le code généré est créé via un modèle qui est écrit dans un langage de modèle appelé SPL SPL (Spy Programming Language). Vous pouvez personnaliser le modèle utilisé pour code-generation. Ceci peut être utile, par exemple, quand vous voulez personnaliser votre code selon les conventions écrites de votre entreprise ou remplacer les bibliothèques spécifiques dans le code généré.
Exemples
Pour des exemples illustrant les capacités de génération de code, voir Exemple : Book Library et Example: Purchase Order.