Package org.apache.commons.exec
Class CommandLine
- java.lang.Object
 - 
- org.apache.commons.exec.CommandLine
 
 
- 
public class CommandLine extends java.lang.ObjectCommandLine objects help handling command lines specifying processes to execute. The class can be used to a command line by an application. 
- 
- 
Constructor Summary
Constructors Constructor Description CommandLine(java.io.File executable)Create a command line without any arguments.CommandLine(java.lang.String executable)Create a command line without any arguments.CommandLine(CommandLine other)Copy constructor. 
- 
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description CommandLineaddArgument(java.lang.String argument)Add a single argument.CommandLineaddArgument(java.lang.String argument, boolean handleQuoting)Add a single argument.CommandLineaddArguments(java.lang.String addArguments)Add multiple arguments.CommandLineaddArguments(java.lang.String[] addArguments)Add multiple arguments.CommandLineaddArguments(java.lang.String[] addArguments, boolean handleQuoting)Add multiple arguments.CommandLineaddArguments(java.lang.String addArguments, boolean handleQuoting)Add multiple arguments.java.lang.String[]getArguments()Returns the expanded and quoted command line arguments.java.lang.StringgetExecutable()Returns the executable.java.util.Map<java.lang.String,?>getSubstitutionMap()booleanisFile()Was a file being used to set the executable?static CommandLineparse(java.lang.String line)Create a command line from a string.static CommandLineparse(java.lang.String line, java.util.Map<java.lang.String,?> substitutionMap)Create a command line from a string.voidsetSubstitutionMap(java.util.Map<java.lang.String,?> substitutionMap)Set the substitutionMap to expand variables in the command line.java.lang.StringtoString()Stringify operator returns the command line as a string.java.lang.String[]toStrings()Returns the command line as an array of strings. 
 - 
 
- 
- 
Constructor Detail
- 
CommandLine
public CommandLine(java.lang.String executable)
Create a command line without any arguments.- Parameters:
 executable- the executable
 
- 
CommandLine
public CommandLine(java.io.File executable)
Create a command line without any arguments.- Parameters:
 executable- the executable file
 
- 
CommandLine
public CommandLine(CommandLine other)
Copy constructor.- Parameters:
 other- the instance to copy
 
 - 
 
- 
Method Detail
- 
parse
public static CommandLine parse(java.lang.String line)
Create a command line from a string.- Parameters:
 line- the first element becomes the executable, the rest the arguments- Returns:
 - the parsed command line
 - Throws:
 java.lang.IllegalArgumentException- If line is null or all whitespace
 
- 
parse
public static CommandLine parse(java.lang.String line, java.util.Map<java.lang.String,?> substitutionMap)
Create a command line from a string.- Parameters:
 line- the first element becomes the executable, the rest the argumentssubstitutionMap- the name/value pairs used for substitution- Returns:
 - the parsed command line
 - Throws:
 java.lang.IllegalArgumentException- If line is null or all whitespace
 
- 
getExecutable
public java.lang.String getExecutable()
Returns the executable.- Returns:
 - The executable
 
 
- 
isFile
public boolean isFile()
Was a file being used to set the executable?- Returns:
 - true if a file was used for setting the executable
 
 
- 
addArguments
public CommandLine addArguments(java.lang.String[] addArguments)
Add multiple arguments. Handles parsing of quotes and whitespace.- Parameters:
 addArguments- An array of arguments- Returns:
 - The command line itself
 
 
- 
addArguments
public CommandLine addArguments(java.lang.String[] addArguments, boolean handleQuoting)
Add multiple arguments.- Parameters:
 addArguments- An array of argumentshandleQuoting- Add the argument with/without handling quoting- Returns:
 - The command line itself
 
 
- 
addArguments
public CommandLine addArguments(java.lang.String addArguments)
Add multiple arguments. Handles parsing of quotes and whitespace. Please note that the parsing can have undesired side-effects therefore it is recommended to build the command line incrementally.- Parameters:
 addArguments- An string containing multiple arguments.- Returns:
 - The command line itself
 
 
- 
addArguments
public CommandLine addArguments(java.lang.String addArguments, boolean handleQuoting)
Add multiple arguments. Handles parsing of quotes and whitespace. Please note that the parsing can have undesired side-effects therefore it is recommended to build the command line incrementally.- Parameters:
 addArguments- An string containing multiple arguments.handleQuoting- Add the argument with/without handling quoting- Returns:
 - The command line itself
 
 
- 
addArgument
public CommandLine addArgument(java.lang.String argument)
Add a single argument. Handles quoting.- Parameters:
 argument- The argument to add- Returns:
 - The command line itself
 - Throws:
 java.lang.IllegalArgumentException- If argument contains both single and double quotes
 
- 
addArgument
public CommandLine addArgument(java.lang.String argument, boolean handleQuoting)
Add a single argument.- Parameters:
 argument- The argument to addhandleQuoting- Add the argument with/without handling quoting- Returns:
 - The command line itself
 
 
- 
getArguments
public java.lang.String[] getArguments()
Returns the expanded and quoted command line arguments.- Returns:
 - The quoted arguments
 
 
- 
getSubstitutionMap
public java.util.Map<java.lang.String,?> getSubstitutionMap()
- Returns:
 - the substitution map
 
 
- 
setSubstitutionMap
public void setSubstitutionMap(java.util.Map<java.lang.String,?> substitutionMap)
Set the substitutionMap to expand variables in the command line.- Parameters:
 substitutionMap- the map
 
- 
toStrings
public java.lang.String[] toStrings()
Returns the command line as an array of strings.- Returns:
 - The command line as an string array
 
 
- 
toString
public java.lang.String toString()
Stringify operator returns the command line as a string. Parameters are correctly quoted when containing a space or left untouched if the are already quoted.- Overrides:
 toStringin classjava.lang.Object- Returns:
 - the command line as single string
 
 
 - 
 
 -