org.codehaus.plexus.util.cli
public class Commandline extends Object implements Cloneable
Commandline objects help handling command lines specifying processes to execute.
The class can be used to define a command line as nested elements or as a helper to define a command line by an application.
<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.
| Nested Class Summary | |
|---|---|
| static class | Commandline.Argument
Used for nested xml command line definitions. |
| class | Commandline.Marker
Class to keep track of the position of an Argument. |
| Field Summary | |
|---|---|
| protected Vector | arguments |
| protected Vector | envVars |
| protected String | executable |
| boolean | newEnvironment |
| protected static String | OS_NAME |
| long | pid |
| Shell | shell |
| File | workingDir |
| protected static String | WINDOWS |
| Constructor Summary | |
|---|---|
| Commandline(String toProcess)
Create a new command line object.
| |
| Commandline()
Create a new command line object.
| |
| Method Summary | |
|---|---|
| void | addArguments(String[] line) |
| void | addEnvironment(String name, String value)
Add an environment variable |
| void | addSystemEnvironment()
Add system environment variables |
| void | clear()
Clear out the whole command line. |
| void | clearArgs()
Clear out the arguments but leave the executable in place for another operation. |
| Object | clone() |
| Commandline.Argument | createArgument()
Creates an argument object.
|
| Commandline.Argument | createArgument(boolean insertAtStart)
Creates an argument object and adds it to our list of args.
|
| Commandline.Marker | createMarker()
Return a marker.
|
| Process | execute()
Executes the command. |
| String[] | getArguments()
Returns all arguments defined by addLine,
addValue or the argument object. |
| String[] | getCommandline()
Returns the executable and all defined arguments. |
| String[] | getCurrentEnvironment()
Return the current list of environment variables or null if user
doesn't have add any variable.
|
| String[] | getEnvironments()
Return the list of environment variables |
| String | getExecutable() |
| long | getPid() |
| Shell | getShell()
Get the shell to be used in this command line.
|
| String[] | getShellCommandline()
Returns the shell, executable and all defined arguments. |
| Properties | getSystemEnvVars() |
| File | getWorkingDirectory() |
| static String | quoteArgument(String argument) Put quotes around the given String if necessary. If the argument doesn't include spaces or quotes, return it as is. |
| void | setDefaultShell() Sets the shell or command-line interpretor for the detected operating system, and the shell arguments. |
| void | setExecutable(String executable)
Sets the executable to run. |
| void | setPid(long pid) |
| void | setShell(Shell shell)
Allows to set the shell to be used in this command line.
|
| void | setWorkingDirectory(String path)
Sets execution directory. |
| int | size() |
| String | toString() |
| static String | toString(String[] line) |
| static String[] | translateCommandline(String toProcess) |
Parameters: toProcess
Each commandline object has at most one instance of the
argument class. This method calls
this.createArgument(false).
Returns: the argument object.
See Also: Commandline
Each commandline object has at most one instance of the argument class.
Parameters: insertAtStart if true, the argument is inserted at the beginning of the list of args, otherwise it is appended.
This marker can be used to locate a position on the commandline - to insert something for example - when all parameters have been set.
addLine,
addValue or the argument object.UNKNOWN: return the list of proc env variables with user env variables if user add some var.
Since: 1.2
Put quotes around the given String if necessary.
If the argument doesn't include spaces or quotes, return it as is. If it contains double quotes, use single quotes - else surround the argument by double quotes.
Throws: CommandLineException if the argument contains both, single and double quotes.
Sets the shell or command-line interpretor for the detected operating system, and the shell arguments.
Parameters: shell
Since: 1.2