Un composant Akrogen XML Component est un fichier XML stocké dans le répertoire Components d'un catalogue.
Il décrit le Wizard page Eclipse en XML/XUL du composant (Service, DAO, JSP, HTML...) que vous souhaitez générer. Cette description doit suivre une certaine grammaire XML.
Un composant Akrogen permet de générer ou mettre à jour un fichier. Il est associé à un template (Freemarker, Velocity, XSLT)
Voici le XML component du Wizard page helloWord :
Le bouton Finish du Wizard page permet de lancer la génération de code en fusionnant le template ftl/HelloWord/helloWord.ftl du répertoire Templates avec la valeur de la textbox d'id user. Le template utilisé attend un paramètre user.
Voici le template Freemarker utilisé :
Hello ${user}!
La description XML d'un composant consite à définir les 3 grandes sections :
Un XML component suit la grammaire suivante :
<?xml version="1.0" encoding="UTF-8"?> <component> <!-- Component model --> <models> <model ... .... </models> <!-- Input page --> <input> <page title="..." > <description>...</description> .... XUL content </page> </input> <!-- Output page --> <output> ... </output> </component>
Voici l'exemple HelloWord :
<?xml version="1.0" encoding="UTF-8"?> <component> <input> <page title="Akrogen Hello Word" > <description>HelloWord Akrogen component to generate file with content "Hello $user!".</description> <box flex="1" id="" orient="vertical" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <hbox> <label value="User: ($user)" /> <textbox id="user" flex="1" /> </hbox> <hbox> <label value="Output base dir:" /> <textbox id="outputBaseDir" flex="1" /> <button type="folder" target="outputBaseDir" label="Browse..." /> </hbox> <hbox> <label value="Output file name:" /> <textbox id="outputFileName" flex="1" /> </hbox> <hbox> <button type="preview" label="Preview..." /> </hbox> </box> </page> </input> <output> <file> <template uri="/ftl/HelloWord/helloWord.ftl" /> </file> </output> </component>