Package org.apache.commons.exec
Class CommandLine
- java.lang.Object
-
- org.apache.commons.exec.CommandLine
-
public class CommandLine extends Object
CommandLine 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(File executable)Create a command line without any arguments.CommandLine(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(String argument)Add a single argument.CommandLineaddArgument(String argument, boolean handleQuoting)Add a single argument.CommandLineaddArguments(String addArguments)Add multiple arguments.CommandLineaddArguments(String[] addArguments)Add multiple arguments.CommandLineaddArguments(String[] addArguments, boolean handleQuoting)Add multiple arguments.CommandLineaddArguments(String addArguments, boolean handleQuoting)Add multiple arguments.String[]getArguments()Returns the expanded and quoted command line arguments.StringgetExecutable()Returns the executable.Map<String,?>getSubstitutionMap()booleanisFile()Was a file being used to set the executable?static CommandLineparse(String line)Create a command line from a string.static CommandLineparse(String line, Map<String,?> substitutionMap)Create a command line from a string.voidsetSubstitutionMap(Map<String,?> substitutionMap)Set the substitutionMap to expand variables in the command line.StringtoString()Stringify operator returns the command line as a string.String[]toStrings()Returns the command line as an array of strings.
-
-
-
Constructor Detail
-
CommandLine
public CommandLine(String executable)
Create a command line without any arguments.- Parameters:
executable- the executable
-
CommandLine
public CommandLine(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(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:
IllegalArgumentException- If line is null or all whitespace
-
parse
public static CommandLine parse(String line, Map<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:
IllegalArgumentException- If line is null or all whitespace
-
getExecutable
public 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(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(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(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(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(String argument)
Add a single argument. Handles quoting.- Parameters:
argument- The argument to add- Returns:
- The command line itself
- Throws:
IllegalArgumentException- If argument contains both single and double quotes
-
addArgument
public CommandLine addArgument(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 String[] getArguments()
Returns the expanded and quoted command line arguments.- Returns:
- The quoted arguments
-
setSubstitutionMap
public void setSubstitutionMap(Map<String,?> substitutionMap)
Set the substitutionMap to expand variables in the command line.- Parameters:
substitutionMap- the map
-
toStrings
public String[] toStrings()
Returns the command line as an array of strings.- Returns:
- The command line as an string array
-
-