21 juillet 2017
publié par 

 

Une nouveauté des versions 22 qui a un grand succès, la génération automatique de classes en fonction du modèle de données (nouveauté 210).

 

Via le volet "Explorateur de projet", par un simple clic droit, il est maintenant possible de :

  • "Générer une classe modèle" s'il n'y a pas déjà une classe créée pour la description sélectionnée,
  • "Régénérer la classe modèle" si la classe a déjà été générée, et qu'il faut donc la mettre à jour (ajouter les membres correspondant aux nouvelles rubriques, modifier les membres existants si les rubriques associées ont changé...) :

 

 

Une classe est automatiquement ajoutée au projet. Les membres qui correspondent aux rubriques contenues dans la description du fichier de données sont regroupés dans une section délimitée par les balises <MAPPING> et <FIN>. Les noms des membres respectent la charte de programmation du projet, et le "mapping" est utilisé afin de faire la correspondance avec le nom des rubriques du fichier de données. La classe peut ensuite être personnalisée et manipulée comme toutes les classes (ajout d'autres membres, méthodes, propriétés...). Seule la section entre <MAPPING> et <FIN> de sa déclaration sera régénérée par la suite lors de la synchronisation avec les évolutions de la description du fichier.

 

Il est ainsi possible d'utiliser le "databinding" sur les instances de la classe ainsi générée pour l'IHM des applications. Les fonctions évoluées type SourceVersEcran, EcranVersSource suppriment de fastidieux traitements d'affectation, des risques d'erreurs, et apportent un grand confort de programmation !

 

Liens utiles sur ce thème :

 

 

< Retour

1 commentaire

Reda
16/08/2021 - 09:31 - Répondre
Bonjour Merci pour cet article très intéressant J'utilise ce principe pour transiter les données json dans mes web services rest Pensez vous qu'il soit possible de générer le code de description de la classe ou d'une structure dynamiquement à partir du nom du fichier ? Bien à vous

Publier un commentaire : 
Votre adresse email ne sera pas publiée