Journal du Net Développeur >  Java >  Aborder Groovy, langage de script pour Java

Aborder Groovy > 3. Groovy Markup

Précédente Introduction 
[1] : création d'un document XML
  1. import groovy.xml.*
  2. import java.io.*
  3.  
  4. class Constructeur {
  5.   static void main(args) {
  6.     def sw = new StringWriter() 
  7.     def constructeur = new MarkupBuilder(sw)
  8.     def personnel = [ "Antoine", "Ludovic", "Emmeline"]
  9.     constructeur.patron() {
  10.       identite(prenom:"Fabrice") {
  11.         age("32")
  12.         }
  13.       employes() {
  14.         personnel.each{name -> constructeur.employe("${name}")}
  15.         }
  16.       }
  17.     println sw.toString()
  18.     }
  19.   }
...donne...
  1. <patron>
  2.   <identite prenom="Fabrice">
  3.     <age>32</age>
  4.   </identitie>
  5.   <employes>
  6.     <employe>Antoine</employe>
  7.     <employe>Ludovic</employe>
  8.     <employe>Emmeline</employe>
  9.   </employes>
  10. </patron>
Groovy Markup
Groovy dispose d'une fonctionnalité appelée Markup, qui permet de définir une structure hiérarchique : XML, Ant, Swing et autres documents à balises, ce directement dans le code, et de manière très concise. Il permet, en faisant appel à tous les langages à balises reconnus ou personnels, de générer rapidement des interfaces Swing/SWT, de lancer des scripts Ant à la volée, d'accéder à une base de données, de lire et écrire du XML...

En quelque sorte, Markup permet d'utiliser ces formats comme s'il s'agissait d'un document DOM. Par exemple, accéder à une donnée XML simplement avec la ligne suivante :

membre_id = doc.projet[5].membre[0].id

Groovy dispose par défaut d'un grand nombre de constructeurs (ou Builders) pour de telles structures : MarkupBuilder, SwingBuilder, AntBuilder... Leurs usages sont très proches : sans devoir se plonger dans la structure elle-même, il est possible de composer des fichiers assez complexes tout en gardant son code lisible. L'intérêt majeur est bien entendu de créer les fichiers selon les besoins de l'application...
Précédente Retour au sommaire Introduction 
Introduction | 1 | 2 | 3
 
|
Haut de page
Nos autres sites Société | Mentions légales | Contacts | Publicité | PA Emploi | Presse | Recrutement | Tous nos sites | Données personnelles
© Benchmark Group, 69/71 avenue Pierre Grenier. 92517 Boulogne Billancourt Cedex