|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.codehaus.plexus.util.cli.Commandline
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 java.util.Vector |
arguments
|
protected java.util.Vector |
envVars
|
protected java.lang.String |
executable
|
protected static java.lang.String |
OS_NAME
|
protected static java.lang.String |
WINDOWS
|
Constructor Summary | |
Commandline()
Create a new command line object. |
|
Commandline(java.lang.String toProcess)
Create a new command line object. |
Method Summary | |
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 |
clear()
Clear out the whole command line. |
void |
clearArgs()
Clear out the arguments but leave the executable in place for another operation. |
java.lang.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. |
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[] |
getCommandline()
Returns the executable and all defined arguments. |
java.lang.String[] |
getEnvironmentVariables()
Return the list of environment variables |
java.lang.String |
getExecutable()
|
long |
getPid()
|
Shell |
getShell()
Get the shell to be used in this command line. |
java.lang.String[] |
getShellCommandline()
Returns the shell, executable and all defined arguments. |
java.util.Properties |
getSystemEnvVars()
|
java.io.File |
getWorkingDirectory()
|
static java.lang.String |
quoteArgument(java.lang.String argument)
Put quotes around the given String if necessary. |
void |
setExecutable(java.lang.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(java.lang.String path)
Sets execution directory. |
int |
size()
|
java.lang.String |
toString()
|
static java.lang.String |
toString(java.lang.String[] line)
|
static java.lang.String[] |
translateCommandline(java.lang.String toProcess)
|
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
protected static final java.lang.String OS_NAME
protected static final java.lang.String WINDOWS
protected java.lang.String executable
protected java.util.Vector arguments
protected java.util.Vector envVars
Constructor Detail |
public Commandline(java.lang.String toProcess)
toProcess
- public Commandline()
Method Detail |
public long getPid()
public void setPid(long pid)
public Commandline.Argument createArgument()
Each commandline object has at most one instance of the
argument class. This method calls
this.createArgument(false)
.
createArgument(boolean)
public Commandline.Argument createArgument(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)
public java.lang.String getExecutable()
public void addArguments(java.lang.String[] line)
public void addEnvironment(java.lang.String name, java.lang.String value)
public void addSystemEnvironment() throws java.lang.Exception
java.lang.Exception
public java.lang.String[] getEnvironmentVariables() throws CommandLineException
CommandLineException
public java.lang.String[] getCommandline()
public java.lang.String[] getShellCommandline()
public java.lang.String[] getArguments()
addLine
,
addValue
or the argument object.
public java.lang.String toString()
public static java.lang.String quoteArgument(java.lang.String argument) throws CommandLineException
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.
CommandLineException
- if the argument contains both, single
and double quotes.public static java.lang.String toString(java.lang.String[] line)
public static java.lang.String[] translateCommandline(java.lang.String toProcess) throws java.lang.Exception
java.lang.Exception
public int size()
public java.lang.Object clone()
public void clear()
public void clearArgs()
public Commandline.Marker createMarker()
This marker can be used to locate a position on the commandline - to insert something for example - when all parameters have been set.
public void setWorkingDirectory(java.lang.String path)
public java.io.File getWorkingDirectory()
public java.lang.Process execute() throws CommandLineException
CommandLineException
public java.util.Properties getSystemEnvVars() throws java.lang.Exception
java.lang.Exception
public void setShell(Shell shell)
shell
- public Shell getShell()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |