La mise à jour d'un fichier JAVA source consiste à :
Il existe des example dans le répertoire Components/CodeUpdater/Java du catalogue usecases-catalog.
Ceci nécéssite de :
<models> <model key="javaClass" type="java" /> </models>
Voici un exemple qui permet d'ajouter un contenu field dans le fichier source JAVA :
<output> <file key="javaClass" > <insert path="field" > <template uri="/ftl/CodeUpdater/Java/AddJavaField.ftl" /> </insert> </file> </file> </output>
Pour indiquer le fichier JAVA source à modifier (qui a été définit dans le modèle), l'attribut key de l'élement file doit faire référence à l'attribut key de l'élement model.
private String ${fieldName};
La définition d'un modèle de type java et de key javaClass qui permet d'indiquer le fichier JAVA à mettre à jour s'effectue comme ceci :
... <models> <model type="java" key="javaClass" /> ... </models> ...
L'élement file est contenu dans l'élement output. Il permet de décrire la mise à jour à effectuer sur le fichier JAVA source qui a été définit dans le modèle. La mise à jour du fichier JAVA définit dans le modèle de key javaClass s'effectue comme ceci :
... <output> <file key="javaClass" > ... </file> </output> ...
L'élement insert est contenu dans l'élement file. Il permet d'insérer le code method/field à l'aide de l'attribut path :
... <file key="javaClass" > <insert path="method|field" > <template uri="..." /> </insert> </file> ...
Le code method/field à insérer est généré. Cette génération de code s'effectue à partir d'un template (Freemarker, velocity, XSL,...).
Pour générer un le contenu de method/field à l'aide du template path_of_myTemplate, insert doit contenir :
... <insert path="method|field" > <template uri="path_of_myTemplate" /> </insert> ...