Class Groovy
Les arguments du script peuvent être passés dynamiquement. On peut passer un
drapeau (-f:<nom>) ou un argument avec une valeur (-a:<nom> <valeur>).
Les préfixes spéciaux qui commencent par "?" servent à demander via une petite
fenêtre surgissante une réponse à l'utilisateur.
?s: demander une String?d: demander une date (au format jj/mm/aaaa)?f: demander un fichier?g: demander un répertoire?p: demander un mot de passe
Ex : passage de la valeur "simpson" pour l'argument "monnom" :
-a:monnom simpson.
Ex : demander à l'utilisateur d'entrer un nom :
-a:monnom ?
Ex : demander à l'utilisateur d'entrer un nom, avec un texte d'invite :
-a:monnom "?sVeuillez entrer un nom de personnage"
Ex : demander à l'utilisateur de choisir un fichier :
-a:monfic "?fVeuillez choisir un fichier"
Ex : demander à l'utilisateur de choisir un répertoire :
-a:monrep "?gVeuillez choisir un répertoire"
Ex : demander à l'utilisateur de choisir une date :
-a:madate "?dVeuillez choisir une date"
Ex : demander à l'utilisateur d'entrer un mot de passe :
-a:monmot "?pVeuillez entrer un mot de passe pour truc"
Ex : Paramètre commence vraiment par ?, deviendra directement "?interro" sans rien demander à l'utilisateur :
-a:moninterrogation "??interro"
Dans le code groovy, on pourra récupérer la valeur via le tableau "args".
Ex : def monnom = args['monnom']
Il y a quelques objets prédéfinis dans la liaison ('binding') avec l'environnement de script :
args: les arguments du scriptflags: les drapeauxlg: le log (Log4j)scriptPath: le chemin du scriptscriptUri: le 'scripturi' passé en argument le cas échéant (voir option correspondante)nl: le séparateur de ligne (System.getProperty("line.separator"))userHome: le répertoire de l'utilisateur (System.getProperty("user.home"))frenchDateFormat: un SimpleDateFormat au format francais dd/MM/yyyypmsiDateFormat: un SimpleDateFormat au format francais mais sans séparateurs, pour les fichiers PMSI ddMMyyyydebug: true si on est passe en mode debug (via l'option -debug, voir plus bas), false sinon
- -debug : passer en mode debogage (emet des messages de debogage)(active le niveau DEBUG de log4j)
- -enc <encodage> : change l'encodage par defaut des script (par defaut c'est UTF-8)
- -scripturi : a utiliser à la place de l'option "script" si on veut définir un chemin relatif sous forme d'URI pour rechercher un script.
C'est nécessaire notamment si le script que l'on donne en argument fait partie d'un package.
Par exemple si mon script se trouve dans
C:\mes_scripts\valorisation\calcul2.groovyet qu'en fait "valorisation" est un package, il faut appeler le script de la façon suivante :-extracp file:/C:/mes_scripts/ -scripturi valorisation/calcul2.groovy - -extracp: définir un élément de classpath supplémentaire. Cette option est à utiliser avec -scripturi pour donner le point de départ des scripts. C'est nécessaire lorsque l'on définit les scripts dans des packages, cela permet de définir le répertoire racine des scripts. Le chemin doit être une URL et se terminer par un slash (s'il n'y a pas de slash à la fin, gpmsi.Groovy en rajoute un d'office et émet un avertissement). On ajouter plusieurs fois cette option et ainsi ajouter plusieurs extracp.
Il est également possible d'utiliser un objet interne déjà compilé à l'aide de l'option -run
(au lieu de l'option -script). Il faut alors donner le nom de la classe et pas un chemin.
Ex : -run fr.gpmsi.groovytests.LibsTest
La classe doit étendre Script
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclass( Repris depuis http://www.camick.com/java/source/RequestFocusListener.java ) Convenience class to request focus on a component. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic BindingRetourner le binding courant.Accès à l'objet qui a été retourné par le scriptvoidInitialisationstatic voidmainTraitement d'un argument obligatoireintrun()Lancer l'exécution.voidsetReturnedObject(Object returnedObject) Définir l'objet retourné par le script.
-
Constructor Details
-
Groovy
public Groovy()Constructeur par défaut
-
-
Method Details
-
getBinding
Retourner le binding courant. Utile pour l'accès aux variables de script depuis une classe qui ne fait pas partie du script. Attention c'est une variable statique, il n'y en a donc qu'une par exécution !- Returns:
- le Bindiing courant
-
mandatory
-
init
-
run
public int run() throws ResourceException, ScriptException, IOException, ClassNotFoundException, InstantiationException, IllegalAccessException, NoSuchMethodException, IllegalArgumentException, InvocationTargetExceptionLancer l'exécution.- Returns:
- si rien à exécuter renvoie 99, sinon renvoie toujours 0 (auparavant une valeur d'erreur était renvoyée, mais maintenant en cas d'erreur ce sont des exceptions qui sont déclenchées)
- Throws:
ResourceException- -ScriptException- -IOException- -ClassNotFoundException- -InstantiationException- -IllegalAccessException- -NoSuchMethodException- -InvocationTargetException- -IllegalArgumentException- -
-
main
-
getReturnedObject
Accès à l'objet qui a été retourné par le script- Returns:
- l'objet retourné par le script
-
setReturnedObject
Définir l'objet retourné par le script. Pas à utiliser de manière courante.- Parameters:
returnedObject- Objet retourné par le script
-