Why make donate

LutinProcessor

Présentation

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.

Filtres existants

NoActionFilter

classe org.codelutin.processor.filters.NoActionFilter

Ce filtre ne fait rien

ActiveLogsCodeFilter

classe org.codelutin.processor.filters.ActiveLogsCodeFilter

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.

RemoveLogsCodeFilter

classe org.codelutin.processor.filters.RemoveLogsCodeFilter

Détecte les tags / # et #/ et supprime tout ce qui est contenu a l'intérieur.

OptimisationFilter

classe org.codelutin.processor.filters.OptimisationFilter

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.

inputFileName (.*?).java
outputFileName $1.optxml

i18nFilter

classe org.codelutin.processor.filters.i18nFilter

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.

inputFileName (.*?).java
outputFileName $1.i18n

GeneratorTemplatesFilter

classe org.codelutin.processor.filters.GeneratorTemplatesFilter

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>...");

GeneratorTemplatesFilterIn

classe org.codelutin.processor.filters.GeneratorTemplatesFilterIn

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("

Règle ant

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

Plugin maven

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.

Maven JRst ReStructuredText
google analytics