Cette librairie permet la création de filtre sur les fichiers sources. Des tags de debut et de fin sont recherchés et le filtre permet de traiter la chaïne comprise dans ces tags pour qu'elle soit écrite dans le fichier cible.
Ce filtre ne fait rien
Détecte les tags / # et #/ et les supprimes, le contenu entre ces deux tags est placé dans un block try.
Cette règle est surtout utile pour des commentaires de debug ou des tests que l'on veut pouvoir activé ou non.
Détecte les tags / # et #/ et supprime tout ce qui est contenu a l'intérieur.
Détecte les tags / % et %/, tout ce qui n'est pas a l'exterieur de ce tag est supprimé et ce qui est dans le tag est conservé tel quel.
L'intéret de ce filtre est de permettre la créer des fichiers XML qui permettra la création de classe d'optimisation par la suite. Le XML décrivant les méthodes et permettant de faire une classe fille a la classe qui contient les tags.
Détecte les tags I18n._(" et "), tout ce qui n'est pas a l'exterieur de ce tag est supprimé et ce qui est dans le tag est conservé tel quel et ce voit ajouter un signe *=* à la fin.
L'intéret de ce filtre est de pouvoir extraire les chaînes de texte à traduire des fichiers sources. Les fichiers résultants sont de la forme des fichiers de propriétés Java.
Détecte les tags **/\*{** et **}\*/**, le contenu est alors lui même parsé avec le filtre GeneratorTemplatesFilterIn. Le résultat global est placé dans un:
output.write("...<le contenu>...");
Détecte les tags <% et %>, dans le texte externe aux tags les guillemets sont coté ainsi que les retours chariots de façon à ce que le texte puisse aller dans une chaîne de caractères Java. Si le texte à l'intérieur des tags commence par un signe =, alors il est remplacé par:
"+ ...<contenu du tag sans le =>... +"
Sinon il est remplacé par:
");
...<contenu du tag>...
output.write("
Voici un exemple d'utilisation de la règle ant.
<processor filters="org.codelutin.processor.filters.GeneratorTemplatesFilter, \
org.codelutin.processor.filters.GeneratorTemplatesFilter"
srcdir="${srcdir}"
destdir="${gendir}"
includes="**/*.java"
fileInPattern="(.*?).javap"
fileOutPattern="$1.java"
/>
Dans cette exemple, deux filtres seront appliqué, les fichiers qui seront processés sont tous les fichiers java du répertoire ${srcdir} et les fichiers résultants se retrouveront dans le répertoire ${gendir} et leur extension aura été modifié de .javap en .java
Un plugin maven est disponnible à l'adresse suivante http://lutinprocessor.labs.libre-entreprise.org/maven-processor-plugin . Il permet l'utilisation depuis maven de LutinProcessor.