Class Strings

org.elasticsearch.common.Strings

public class Strings extends
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static []
     
    static <>
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static
    [] arr)
    Convenience method to return a String array as a CSV String.
    static
    [] arr,  delim)
    Convenience method to return a String array as a delimited (e.g.
    static void
    [] arr,  delim,  sb)
     
    static
     str)
    Capitalize a String, changing the first letter to upper case as per .
    static
     s, int length)
    Truncates string to a length less than length.
    static
     s)
     
    static
    <?> coll)
    Convenience method to return a Collection as a CSV String.
    static
    <?> coll,  delim)
    Convenience method to return a Collection as a delimited (e.g.
    static
    <?> coll,  delim,  prefix,  suffix)
    Convenience method to return a Collection as a delimited (e.g.
    static void
    <?> coll,  delim,  prefix,  suffix,  sb)
     
    static <>
     str)
    Convenience method to convert a CSV string list to a set.
    static []
     str)
    Convert a CSV list into an array of Strings.
    static []
    [] first, [] second)
    Concatenate two string arrays into a third
    static
     inString,  pattern)
    Delete all occurrences of the given substring.
    static
     inString,  charsToDelete)
    Delete any character in a given String.
    static []
     str,  delimiter)
    Take a String which is a delimited list and convert it to a String array.
    static []
     str,  delimiter,  charsToDelete)
    Take a String which is a delimited list and convert it to a String array.
    static
    format1Decimals​(double value,  suffix)
    Format the double value with a single decimal points, trimming trailing '.0'.
    static boolean
     str)
    Check that the given CharSequence is neither null nor of length 0.
    static boolean
     str)
    Check that the given String is neither null nor of length 0.
    static boolean
    hasLength​(BytesReference bytesReference)
    Check that the given BytesReference is neither null nor of length 0 Note: Will return true for a BytesReference that purely consists of whitespace.
    static boolean
     str)
    Check whether the given CharSequence has actual text.
    static boolean
     str)
    Check whether the given String has actual text.
    static boolean
     data)
    Returns `true` if the string is `_all` or `*`.
    static boolean
    [] data)
    If an array only consists of zero or one element, which is "*" or "_all" return an empty array which is usually used as everything
    static boolean
     str)
    Check that the given CharSequence is either null or of length 0.
    static boolean
     s)
     
    static
     s, int minimumLength, char c)
     
    static
     str)
    Quote the given String with single quotes.
    static
     inString,  oldPattern,  newPattern)
    Replace all occurrences of a substring within a string with another string.
    static
     str,  message)
    Checks that the supplied string is neither null nor empty, per isNullOrEmpty(String).
    static void
    spaceify​(int spaces,  from,  to)
     
    static []
     toSplit,  delimiter)
    Split a String at the first occurrence of the delimiter.
    static <>
     s,  separator, boolean decode)
    Splits a backslash escaped string on the separator.
    static []
     s)
    Split the specified string by commas to an array.
    static
     s, int beginIndex, int endIndex)
    Return substring(beginIndex, endIndex) that is impervious to string length.
    static boolean
     str, int index,  substring)
    Test whether the given string matches the given substring at the given index.
    static <>
     s)
    Tokenize the specified string by commas to a set, trimming whitespace and ignoring empty tokens.
    static []
     s,  delimiters)
    Tokenize the given String into a String array via a StringTokenizer.
    static
     in)
     
    static
    toString​(org.elasticsearch.common.xcontent.ToXContent toXContent)
    Return a that is the json representation of the provided ToXContent.
    static
    toString​(org.elasticsearch.common.xcontent.ToXContent toXContent, boolean pretty, boolean human)
    Return a that is the json representation of the provided ToXContent.
    static
    toString​(org.elasticsearch.common.xcontent.ToXContent toXContent, org.elasticsearch.common.xcontent.ToXContent.Params params)
    Return a that is the json representation of the provided ToXContent.
    static
    toString​(org.elasticsearch.common.xcontent.XContentBuilder xContentBuilder)
    Returns a string representation of the builder (only applicable for text based xcontent).
    static []
    <> collection)
    Copy the given Collection into a String array.
    static byte[]
     charSequence)
     
    static byte[]
     charSequence, org.apache.lucene.util.BytesRefBuilder spare)
     
    static
     str, char leadingCharacter)
    Trim all occurrences of the supplied leading character from the given String.
    static boolean
     fileName)
     
    static boolean
     fileName)
     

    Methods inherited from class java.lang.

    , , , , , , , , , ,
  • Field Details

    • EMPTY_ARRAY

      public static final [] EMPTY_ARRAY
    • INVALID_FILENAME_CHARS

      public static final <> INVALID_FILENAME_CHARS
  • Method Details

    • spaceify

      public static void spaceify(int spaces,  from,  to) throws
      Throws:
    • splitSmart

      public static <> splitSmart( s,  separator, boolean decode)
      Splits a backslash escaped string on the separator.

      Current backslash escaping supported:
      \n \t \r \b \f are escaped the same as a Java String
      Other characters following a backslash are produced verbatim (\c => c)

      Parameters:
      s - the string to split
      separator - the separator to split on
      decode - decode backslash escaping
    • hasLength

      public static boolean hasLength( str)
      Check that the given CharSequence is neither null nor of length 0. Note: Will return true for a CharSequence that purely consists of whitespace.
       StringUtils.hasLength(null) = false
       StringUtils.hasLength("") = false
       StringUtils.hasLength(" ") = true
       StringUtils.hasLength("Hello") = true
       
      Parameters:
      str - the CharSequence to check (may be null)
      Returns:
      true if the CharSequence is not null and has length
      See Also:
      hasText(String)
    • hasLength

      public static boolean hasLength(BytesReference bytesReference)
      Check that the given BytesReference is neither null nor of length 0 Note: Will return true for a BytesReference that purely consists of whitespace.
      Parameters:
      bytesReference - the BytesReference to check (may be null)
      Returns:
      true if the BytesReference is not null and has length
      See Also:
      hasLength(CharSequence)
    • hasLength

      public static boolean hasLength( str)
      Check that the given String is neither null nor of length 0. Note: Will return true for a String that purely consists of whitespace.
      Parameters:
      str - the String to check (may be null)
      Returns:
      true if the String is not null and has length
      See Also:
      hasLength(CharSequence)
    • isEmpty

      public static boolean isEmpty( str)
      Check that the given CharSequence is either null or of length 0. Note: Will return false for a CharSequence that purely consists of whitespace.
       StringUtils.isEmpty(null) = true
       StringUtils.isEmpty("") = true
       StringUtils.isEmpty(" ") = false
       StringUtils.isEmpty("Hello") = false
       
      Parameters:
      str - the CharSequence to check (may be null)
      Returns:
      true if the CharSequence is either null or has a zero length
    • hasText

      public static boolean hasText( str)
      Check whether the given CharSequence has actual text. More specifically, returns true if the string not null, its length is greater than 0, and it contains at least one non-whitespace character.
       StringUtils.hasText(null) = false
       StringUtils.hasText("") = false
       StringUtils.hasText(" ") = false
       StringUtils.hasText("12345") = true
       StringUtils.hasText(" 12345 ") = true
       
      Parameters:
      str - the CharSequence to check (may be null)
      Returns:
      true if the CharSequence is not null, its length is greater than 0, and it does not contain whitespace only
      See Also:
    • hasText

      public static boolean hasText( str)
      Check whether the given String has actual text. More specifically, returns true if the string not null, its length is greater than 0, and it contains at least one non-whitespace character.
      Parameters:
      str - the String to check (may be null)
      Returns:
      true if the String is not null, its length is greater than 0, and it does not contain whitespace only
      See Also:
      hasText(CharSequence)
    • trimLeadingCharacter

      public static  trimLeadingCharacter( str, char leadingCharacter)
      Trim all occurrences of the supplied leading character from the given String.
      Parameters:
      str - the String to check
      leadingCharacter - the leading character to be trimmed
      Returns:
      the trimmed String
    • substringMatch

      public static boolean substringMatch( str, int index,  substring)
      Test whether the given string matches the given substring at the given index.
      Parameters:
      str - the original string (or StringBuilder)
      index - the index in the original string to start matching against
      substring - the substring to match at the given index
    • replace

      public static  replace( inString,  oldPattern,  newPattern)
      Replace all occurrences of a substring within a string with another string.
      Parameters:
      inString - String to examine
      oldPattern - String to replace
      newPattern - String to insert
      Returns:
      a String with the replacements
    • delete

      public static  delete( inString,  pattern)
      Delete all occurrences of the given substring.
      Parameters:
      inString - the original String
      pattern - the pattern to delete all occurrences of
      Returns:
      the resulting String
    • deleteAny

      public static  deleteAny( inString,  charsToDelete)
      Delete any character in a given String.
      Parameters:
      inString - the original String
      charsToDelete - a set of characters to delete. E.g. "az\n" will delete 'a's, 'z's and new lines.
      Returns:
      the resulting String
    • quote

      public static  quote( str)
      Quote the given String with single quotes.
      Parameters:
      str - the input String (e.g. "myString")
      Returns:
      the quoted String (e.g. "'myString'"), or null if the input was null
    • capitalize

      public static  capitalize( str)
      Capitalize a String, changing the first letter to upper case as per . No other letters are changed.
      Parameters:
      str - the String to capitalize, may be null
      Returns:
      the capitalized String, null if null
    • validFileName

      public static boolean validFileName( fileName)
    • validFileNameExcludingAstrix

      public static boolean validFileNameExcludingAstrix( fileName)
    • toStringArray

      public static [] toStringArray(<> collection)
      Copy the given Collection into a String array. The Collection must contain String elements only.
      Parameters:
      collection - the Collection to copy
      Returns:
      the String array (null if the passed-in Collection was null)
    • concatStringArrays

      public static [] concatStringArrays([] first, [] second)
      Concatenate two string arrays into a third
    • tokenizeByCommaToSet

      public static <> tokenizeByCommaToSet( s)
      Tokenize the specified string by commas to a set, trimming whitespace and ignoring empty tokens.
      Parameters:
      s - the string to tokenize
      Returns:
      the set of tokens
    • splitStringByCommaToArray

      public static [] splitStringByCommaToArray( s)
      Split the specified string by commas to an array.
      Parameters:
      s - the string to split
      Returns:
      the array of split values
      See Also:
    • split

      public static [] split( toSplit,  delimiter)
      Split a String at the first occurrence of the delimiter. Does not include the delimiter in the result.
      Parameters:
      toSplit - the string to split
      delimiter - to split the string up with
      Returns:
      a two element array with index 0 being before the delimiter, and index 1 being after the delimiter (neither element includes the delimiter); or null if the delimiter wasn't found in the given input String
    • tokenizeToStringArray

      public static [] tokenizeToStringArray( s,  delimiters)
      Tokenize the given String into a String array via a StringTokenizer. Trims tokens and omits empty tokens.

      The given delimiters string is supposed to consist of any number of delimiter characters. Each of those characters can be used to separate tokens. A delimiter is always a single character; for multi-character delimiters, consider using delimitedListToStringArray

      Parameters:
      s - the String to tokenize
      delimiters - the delimiter characters, assembled as String (each of those characters is individually considered as delimiter).
      Returns:
      an array of the tokens
      See Also:
      , , delimitedListToStringArray(java.lang.String, java.lang.String)
    • delimitedListToStringArray

      public static [] delimitedListToStringArray( str,  delimiter)
      Take a String which is a delimited list and convert it to a String array.

      A single delimiter can consists of more than one character: It will still be considered as single delimiter string, rather than as bunch of potential delimiter characters - in contrast to tokenizeToStringArray.

      Parameters:
      str - the input String
      delimiter - the delimiter between elements (this is a single delimiter, rather than a bunch individual delimiter characters)
      Returns:
      an array of the tokens in the list
      See Also:
      tokenizeToStringArray(java.lang.String, java.lang.String)
    • delimitedListToStringArray

      public static [] delimitedListToStringArray( str,  delimiter,  charsToDelete)
      Take a String which is a delimited list and convert it to a String array.

      A single delimiter can consists of more than one character: It will still be considered as single delimiter string, rather than as bunch of potential delimiter characters - in contrast to tokenizeToStringArray.

      Parameters:
      str - the input String
      delimiter - the delimiter between elements (this is a single delimiter, rather than a bunch individual delimiter characters)
      charsToDelete - a set of characters to delete. Useful for deleting unwanted line breaks: e.g. "\r\n\f" will delete all new lines and line feeds in a String.
      Returns:
      an array of the tokens in the list
      See Also:
      tokenizeToStringArray(java.lang.String, java.lang.String)
    • commaDelimitedListToStringArray

      public static [] commaDelimitedListToStringArray( str)
      Convert a CSV list into an array of Strings.
      Parameters:
      str - the input String
      Returns:
      an array of Strings, or the empty array in case of empty input
    • commaDelimitedListToSet

      public static <> commaDelimitedListToSet( str)
      Convenience method to convert a CSV string list to a set. Note that this will suppress duplicates.
      Parameters:
      str - the input String
      Returns:
      a Set of String entries in the list
    • collectionToDelimitedString

      public static  collectionToDelimitedString(<?> coll,  delim,  prefix,  suffix)
      Convenience method to return a Collection as a delimited (e.g. CSV) String. E.g. useful for toString() implementations.
      Parameters:
      coll - the Collection to display
      delim - the delimiter to use (probably a ",")
      prefix - the String to start each element with
      suffix - the String to end each element with
      Returns:
      the delimited String
    • collectionToDelimitedString

      public static void collectionToDelimitedString(<?> coll,  delim,  prefix,  suffix,  sb)
    • collectionToDelimitedString

      public static  collectionToDelimitedString(<?> coll,  delim)
      Convenience method to return a Collection as a delimited (e.g. CSV) String. E.g. useful for toString() implementations.
      Parameters:
      coll - the Collection to display
      delim - the delimiter to use (probably a ",")
      Returns:
      the delimited String
    • collectionToCommaDelimitedString

      public static  collectionToCommaDelimitedString(<?> coll)
      Convenience method to return a Collection as a CSV String. E.g. useful for toString() implementations.
      Parameters:
      coll - the Collection to display
      Returns:
      the delimited String
    • arrayToDelimitedString

      public static  arrayToDelimitedString([] arr,  delim)
      Convenience method to return a String array as a delimited (e.g. CSV) String. E.g. useful for toString() implementations.
      Parameters:
      arr - the array to display
      delim - the delimiter to use (probably a ",")
      Returns:
      the delimited String
    • arrayToDelimitedString

      public static void arrayToDelimitedString([] arr,  delim,  sb)
    • arrayToCommaDelimitedString

      public static  arrayToCommaDelimitedString([] arr)
      Convenience method to return a String array as a CSV String. E.g. useful for toString() implementations.
      Parameters:
      arr - the array to display
      Returns:
      the delimited String
    • format1Decimals

      public static  format1Decimals(double value,  suffix)
      Format the double value with a single decimal points, trimming trailing '.0'.
    • toUTF8Bytes

      public static byte[] toUTF8Bytes( charSequence)
    • toUTF8Bytes

      public static byte[] toUTF8Bytes( charSequence, org.apache.lucene.util.BytesRefBuilder spare)
    • substring

      public static  substring( s, int beginIndex, int endIndex)
      Return substring(beginIndex, endIndex) that is impervious to string length.
    • isAllOrWildcard

      public static boolean isAllOrWildcard([] data)
      If an array only consists of zero or one element, which is "*" or "_all" return an empty array which is usually used as everything
    • isAllOrWildcard

      public static boolean isAllOrWildcard( data)
      Returns `true` if the string is `_all` or `*`.
    • toString

      public static  toString(org.elasticsearch.common.xcontent.ToXContent toXContent)
      Return a that is the json representation of the provided ToXContent. Wraps the output into an anonymous object if needed. The content is not pretty-printed nor human readable.
    • toString

      public static  toString(org.elasticsearch.common.xcontent.ToXContent toXContent, org.elasticsearch.common.xcontent.ToXContent.Params params)
      Return a that is the json representation of the provided ToXContent. Wraps the output into an anonymous object if needed. Allows to configure the params. The content is not pretty-printed nor human readable.
    • toString

      public static  toString(org.elasticsearch.common.xcontent.XContentBuilder xContentBuilder)
      Returns a string representation of the builder (only applicable for text based xcontent).
      Parameters:
      xContentBuilder - builder containing an object to converted to a string
    • toString

      public static  toString(org.elasticsearch.common.xcontent.ToXContent toXContent, boolean pretty, boolean human)
      Return a that is the json representation of the provided ToXContent. Wraps the output into an anonymous object if needed. Allows to control whether the outputted json needs to be pretty printed and human readable.
    • cleanTruncate

      public static  cleanTruncate( s, int length)
      Truncates string to a length less than length. Backtracks to throw out high surrogates.
    • requireNonEmpty

      public static  requireNonEmpty( str,  message)
      Checks that the supplied string is neither null nor empty, per isNullOrEmpty(String). If this check fails, then an is thrown with the supplied message.
      Parameters:
      str - the String to check
      message - the exception message to use if str is null or empty
      Returns:
      the supplied str
    • isNullOrEmpty

      public static boolean isNullOrEmpty(@Nullable  s)
    • coalesceToEmpty

      public static  coalesceToEmpty(@Nullable  s)
    • padStart

      public static  padStart( s, int minimumLength, char c)
    • toLowercaseAscii

      public static  toLowercaseAscii( in)