StringUtils
Date: 2017-01-22

org.apache.commons.exec.util

## Class StringUtils

- java.lang.Object
- - org.apache.commons.exec.util.StringUtils

-     public class StringUtils
      extends java.lang.Object

  Supplement of commons-lang, the stringSubstitution() was in a simpler implementation available in an older commons-lang implementation. This class is not part of the public API and could change without warning.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `StringUtils()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static java.lang.String` | `fixFileSeparatorChar(java.lang.String arg)` Fixes the file separator char for the target platform using the following replacement.
    `static boolean` | `isQuoted(java.lang.String argument)` Determines if this is a quoted argument - either single or double quoted.
    `static java.lang.String` | `quoteArgument(java.lang.String argument)` Put quotes around the given String if necessary.
    `static java.lang.String[]` | `split(java.lang.String input, java.lang.String splitChar)` Split a string into an array of strings based on a separator.
    `static java.lang.StringBuffer` | `stringSubstitution(java.lang.String argStr, java.util.Map<? super java.lang.String,?> vars, boolean isLenient)` Perform a series of substitutions.
    `static java.lang.String` | `toString(java.lang.String[] strings, java.lang.String separator)` Concatenates an array of string using a separator.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### StringUtils

          public StringUtils()

  - ### Method Detail

    - #### stringSubstitution

          public static java.lang.StringBuffer stringSubstitution(java.lang.String argStr,
                                                  java.util.Map<? super java.lang.String,?> vars,
                                                  boolean isLenient)

      Perform a series of substitutions.

      The substitutions are performed by replacing ${variable} in the target string with the value of provided by the key "variable" in the provided hash table.

      A key consists of the following characters:

      - letter
      - digit
      - dot character
      - hyphen character
      - plus character
      - underscore character
      Parameters:
        `argStr` - the argument string to be processed
        `vars` - name/value pairs used for substitution
        `isLenient` - ignore a key not found in vars or throw a RuntimeException?
      Returns:
        String target string with replacements.

    - #### split

          public static java.lang.String[] split(java.lang.String input,
                                 java.lang.String splitChar)

      Split a string into an array of strings based on a separator.
      Parameters:
        `input` - what to split
        `splitChar` - what to split on
      Returns:
        the array of strings

    - #### fixFileSeparatorChar

          public static java.lang.String fixFileSeparatorChar(java.lang.String arg)

      Fixes the file separator char for the target platform using the following replacement.
      - '/' → File.separatorChar
      - '\\' → File.separatorChar
      Parameters:
        `arg` - the argument to fix
      Returns:
        the transformed argument

    - #### toString

          public static java.lang.String toString(java.lang.String[] strings,
                                  java.lang.String separator)

      Concatenates an array of string using a separator.
      Parameters:
        `strings` - the strings to concatenate
        `separator` - the separator between two strings
      Returns:
        the concatenated strings

    - #### quoteArgument

          public static java.lang.String quoteArgument(java.lang.String argument)

      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.

      Parameters:
        `argument` - the argument to be quoted
      Returns:
        the quoted argument
      Throws:
        `java.lang.IllegalArgumentException` - If argument contains both types of quotes

    - #### isQuoted

          public static boolean isQuoted(java.lang.String argument)

      Determines if this is a quoted argument - either single or double quoted.
      Parameters:
        `argument` - the argument to check
      Returns:
        true when the argument is quoted