public class Commandline
extends java.lang.Object
implements java.lang.Cloneable
<someelement>
<acommandline executable="/executable/to/run">
<argument value="argument 1" />
<argument line="argument_1 argument_2 argument_3" />
<argument value="argument 4" />
</acommandline>
</someelement>
The element someelement
must provide a method
createAcommandline
which returns an instance of this class.
Modifier and Type | Class and Description |
---|---|
static class |
Commandline.Argument |
Modifier and Type | Field and Description |
---|---|
private java.util.List<Arg> |
arguments |
private java.util.Map<java.lang.String,java.lang.String> |
envVars |
private Shell |
shell |
Constructor and Description |
---|
Commandline()
Create a new command line object.
|
Commandline(Shell shell)
Create a new command line object.
|
Commandline(java.lang.String toProcess)
Create a new command line object.
|
Modifier and Type | Method and Description |
---|---|
void |
addArguments(java.lang.String... line) |
void |
addEnvironment(java.lang.String name,
java.lang.String value)
Add an environment variable
|
void |
addSystemEnvironment()
Add system environment variables
|
void |
clearArgs()
Clear out the arguments but leave the executable in place for another operation.
|
java.lang.Object |
clone() |
Arg |
createArg()
Creates an argument object.
|
Arg |
createArg(boolean insertAtStart)
Creates an argument object and adds it to our list of args.
|
java.lang.Process |
execute()
Executes the command.
|
java.lang.String[] |
getArguments()
Returns all arguments defined by
addLine ,
addValue or the argument object. |
java.lang.String[] |
getArguments(boolean mask)
Returns all arguments defined by
addLine ,
addValue or the argument object. |
java.lang.String[] |
getCommandline()
Returns the executable and all defined arguments.
|
java.lang.String[] |
getEnvironmentVariables()
Return the list of environment variables
|
java.lang.String |
getExecutable() |
Shell |
getShell()
Get the shell to be used in this command line.
|
private java.lang.String[] |
getShellCommandline() |
private java.lang.String[] |
getShellCommandline(boolean mask) |
java.io.File |
getWorkingDirectory() |
private void |
setDefaultShell()
Sets the shell or command-line interpretor for the detected operating system,
and the shell arguments.
|
void |
setExecutable(java.lang.String executable)
Sets the executable to run.
|
(package private) void |
setShell(Shell shell)
Allows to set the shell to be used in this command line.
|
void |
setWorkingDirectory(java.io.File workingDirectory)
Sets execution directory.
|
void |
setWorkingDirectory(java.lang.String path)
Sets working directory.
|
java.lang.String |
toString() |
private final java.util.List<Arg> arguments
private final java.util.Map<java.lang.String,java.lang.String> envVars
private Shell shell
public Commandline(Shell shell)
shell
- The shell instance.public Commandline(java.lang.String toProcess)
toProcess
- The command to processpublic Commandline()
private void setDefaultShell()
Sets the shell or command-line interpretor for the detected operating system, and the shell arguments.
public Arg createArg()
Each commandline object has at most one instance of the
argument class. This method calls
this.createArgument(false)
.
public Arg createArg(boolean insertAtStart)
Each commandline object has at most one instance of the argument class.
insertAtStart
- if true, the argument is inserted at the
beginning of the list of args, otherwise it is appended.public void setExecutable(java.lang.String executable)
executable
- The executable.public java.lang.String getExecutable()
public void addArguments(java.lang.String... line)
line
- The arguments.public void addEnvironment(java.lang.String name, java.lang.String value)
name
- The name of the environment variable.value
- The appropriate value.public void addSystemEnvironment()
public java.lang.String[] getEnvironmentVariables()
public java.lang.String[] getCommandline()
private java.lang.String[] getShellCommandline()
private java.lang.String[] getShellCommandline(boolean mask)
mask
- flag to mask any arguments (having his mask
field to true
).mask
parameter is onpublic java.lang.String[] getArguments()
addLine
,
addValue
or the argument object.public java.lang.String[] getArguments(boolean mask)
addLine
,
addValue
or the argument object.mask
- flag to mask any arguments (having his mask
field to true
).public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.Object clone()
clone
in class java.lang.Object
public void setWorkingDirectory(java.lang.String path)
path
- The to be set as working directory.public void setWorkingDirectory(java.io.File workingDirectory)
workingDirectory
- The working directory.public java.io.File getWorkingDirectory()
public void clearArgs()
public java.lang.Process execute() throws CommandLineException
CommandLineException
- in case of errors.void setShell(Shell shell)
shell
- the shellpublic Shell getShell()