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 Details

  • Method Details

    • 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 arguments.
      substitutionMap - the name/value pairs used for substitution.
      Returns:
      the parsed command line.
      Throws:
      IllegalArgumentException - If line is null or all whitespace.
    • 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 add.
      handleQuoting - 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.
    • 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 arguments.
      handleQuoting - Add the argument with/without handling quoting.
      Returns:
      The command line itself.
    • getArguments

      public String[] getArguments()
      Gets the expanded and quoted command line arguments.
      Returns:
      The quoted arguments.
    • getExecutable

      Gets the executable.
      Returns:
      The executable.
    • getSubstitutionMap

      Gets the substitution map.
      Returns:
      the substitution map.
    • isFile

      public boolean isFile()
      Tests whether a file was used to set the executable.
      Returns:
      true whether a file was used for setting the executable.
    • setSubstitutionMap

      public void setSubstitutionMap(Map<String,?> substitutionMap)
      Sets the substitutionMap to expand variables in the command line.
      Parameters:
      substitutionMap - the map
    • toString

      public 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:
      toString in class Object
      Returns:
      the command line as single string.
    • toStrings

      public String[] toStrings()
      Converts the command line as an array of strings.
      Returns:
      The command line as an string array.