|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.developpez.adiguba.shell.Shell
public class Shell
Cette classe représente le shell système.
Elle permet de simplifier l'exécution de programme externe.
Cette classe utilise la classe ProcessConsumer afin de gérer
simplement les flux d'entrées/sorties du process.
Constructor Summary | |
---|---|
Shell()
Construit un nouveau Shell en utilisant le shell systeme. |
|
Shell(String... cmds)
Construit un nouveau shell en utilisant la commande représenté en paramètre. |
Method Summary | |
---|---|
ProcessConsumer |
command(String commandLine)
Crée un processus représentant la commande du shell et l'associe à une instance de ProcessConsumer. |
ProcessConsumer |
command(String commandLine,
Object... arguments)
Identique à command(String) , si ce n'est que la ligne
de commande est d'abord formatté en utilisant les paramètres via
la classe MessageFormat. |
ProcessConsumer |
exec(String... args)
Crée un processus standard et l'associe à une instance de ProcessConsumer. |
static int |
execute(String... args)
Exécute le programme spécifié en affichant les données dans les flux des sorties de l'application. |
Charset |
getCharset()
Retourne le charset associé avec cette instance de shell. |
File |
getDirectory()
Retourne le répertoire à partir duquel les commandes du shell seront lancés. |
Map<String,String> |
getUserEnv()
Retourne une map contenant les variables d'environnements utilisateurs. |
boolean |
isSystemEnvInherited()
Indique si les variables d'environnements de l'application Java courante doivent être passé aux commandes lancées par ce shell. |
void |
setCharset(Charset charset)
Modifie le charset associé avec cette instance de shell. |
void |
setCharset(String charsetName)
Modifie le charset associé avec cette instance de shell. |
void |
setDirectory(File directory)
Modifie le répertoire à partir duquel les commandes du shell seront lancés. |
void |
setSystemEnvInherited(boolean inheritSystemEnv)
Modifie la valeur de l'attribut 'inheritSystemEnv'. |
ProcessConsumer |
shell()
Crée un processus représentant le shell et l'associe à une instance de ProcessConsumer. |
static int |
system(String commandLine)
Exécute la ligne de commande dans le shell système, en affichant les données dans les flux des sorties de l'application. |
static int |
system(String commandLine,
Object... arguments)
Identique à system(String) , si ce n'est que la ligne
de commande est d'abord formatté en utilisant les paramètres via
la classe MessageFormat. |
String |
toString()
Retourne le nom du shell système. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public Shell()
public Shell(String... cmds)
Shell sh = new Shell("/bin/bash", "-c");
cmds
- Les paramètres permettant de lancer le shell.Method Detail |
---|
public Charset getCharset()
public void setCharset(Charset charset)
charset
- Le nouveau charset a utiliser.public void setCharset(String charsetName) throws IllegalCharsetNameException, UnsupportedCharsetException
charsetName
- Le nom du nouveau charset
IllegalCharsetNameException
UnsupportedCharsetException
public Map<String,String> getUserEnv()
public File getDirectory()
public void setDirectory(File directory)
directory
- Le nouveau répertoire
IllegalArgumentException
- Si directory
ne représente pas un répertoire.public boolean isSystemEnvInherited()
public void setSystemEnvInherited(boolean inheritSystemEnv)
inheritSystemEnv
- La nouvelle valeur de l'attribut.isSystemEnvInherited()
public ProcessConsumer shell()
consume()
de la classe ProcessConsumer.
ProcessConsumer.consume()
,
ProcessConsumer.input(Readable)
public ProcessConsumer command(String commandLine)
consume()
de la classe ProcessConsumer.
commandLine
- La ligne de commande à exécuter par le shell .
ProcessConsumer.consume()
public ProcessConsumer command(String commandLine, Object... arguments)
command(String)
, si ce n'est que la ligne
de commande est d'abord formatté en utilisant les paramètres via
la classe MessageFormat.command(MessageFormat.format(commandLine, arguments))
commandLine
- La ligne de commande à formater.arguments
- Les paramètres du formattage.
MessageFormat.format(String, Object...)
,
command(String)
public ProcessConsumer exec(String... args)
command(String)
, cette méthode n'instancie
pas le processus du shell mais directement le programme passé en
premier paramètre. Le processus ne sera réellement démarré que
lors de l'appel d'une des méthodes consume()
de la
classe ProcessConsumer.
args
- Les paramètres de la commandes a exécuter.
public String toString()
toString
in class Object
public static int system(String commandLine) throws IOException
commandLine
- La ligne de commande à exécuter.
IOException
- Erreur d'exécution de la commande.System.out
,
System.err
public static int system(String commandLine, Object... arguments) throws IOException
system(String)
, si ce n'est que la ligne
de commande est d'abord formatté en utilisant les paramètres via
la classe MessageFormat.
commandLine
- La ligne de commande à exécuter.
IOException
- Erreur d'exécution de la commande.system(String)
public static int execute(String... args) throws IOException
args
- Les différents paramètres du programme.
IOException
- Erreur d'exécution du programme.System.out
,
System.err
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |