Class StringUtils

java.lang.Object
org.wso2.carbon.utils.xml.StringUtils

public class StringUtils extends Object
  • Field Details

    • EMPTY_STRING_ARRAY

      public static final String[] EMPTY_STRING_ARRAY
      An empty immutable String array.
  • Method Details

    • startsWithIgnoreWhitespaces

      public static boolean startsWithIgnoreWhitespaces(String prefix, String string)
      Tests if this string starts with the specified prefix (Ignoring whitespaces)
      Parameters:
      prefix -
      string -
      Returns:
      boolean
    • split

      public static String[] split(String str, char separatorChar)

      Splits the provided text into an array, separator specified. This is an alternative to using StringTokenizer.

      The separator is not included in the returned String array. Adjacent separators are treated as one separator.

      A null input String returns null.

       StringUtils.split(null, *)         = null
       StringUtils.split("", *)           = []
       StringUtils.split("a.b.c", '.')    = ["a", "b", "c"]
       StringUtils.split("a..b.c", '.')   = ["a", "b", "c"]
       StringUtils.split("a:b:c", '.')    = ["a:b:c"]
       StringUtils.split("a\tb\nc", null) = ["a", "b", "c"]
       StringUtils.split("a b c", ' ')    = ["a", "b", "c"]
       
      Parameters:
      str - the String to parse, may be null
      separatorChar - the character used as the delimiter, null splits on whitespace
      Returns:
      an array of parsed Strings, null if null String input
    • isEmpty

      public static boolean isEmpty(String str)

      Checks if a String is empty ("") or null.

       StringUtils.isEmpty(null)      = true
       StringUtils.isEmpty("")        = true
       StringUtils.isEmpty(" ")       = false
       StringUtils.isEmpty("bob")     = false
       StringUtils.isEmpty("  bob  ") = false
       

      NOTE: This method changed in Lang version 2.0. It no longer trims the String. That functionality is available in isBlank().

      Parameters:
      str - the String to check, may be null
      Returns:
      true if the String is empty or null
    • strip

      public static String strip(String str)

      Strips whitespace from the start and end of a String.

      This removes whitespace. Whitespace is defined by Character.isWhitespace(char).

      A null input String returns null.

       StringUtils.strip(null)     = null
       StringUtils.strip("")       = ""
       StringUtils.strip("   ")    = ""
       StringUtils.strip("abc")    = "abc"
       StringUtils.strip("  abc")  = "abc"
       StringUtils.strip("abc  ")  = "abc"
       StringUtils.strip(" abc ")  = "abc"
       StringUtils.strip(" ab c ") = "ab c"
       
      Parameters:
      str - the String to remove whitespace from, may be null
      Returns:
      the stripped String, null if null String input
    • strip

      public static String strip(String str, String stripChars)

      Strips any of a set of characters from the start and end of a String. This is similar to String.trim() but allows the characters to be stripped to be controlled.

      A null input String returns null. An empty string ("") input returns the empty string.

      If the stripChars String is null, whitespace is stripped as defined by Character.isWhitespace(char). Alternatively use strip(String).

       StringUtils.strip(null, *)          = null
       StringUtils.strip("", *)            = ""
       StringUtils.strip("abc", null)      = "abc"
       StringUtils.strip("  abc", null)    = "abc"
       StringUtils.strip("abc  ", null)    = "abc"
       StringUtils.strip(" abc ", null)    = "abc"
       StringUtils.strip("  abcyx", "xyz") = "  abc"
       
      Parameters:
      str - the String to remove characters from, may be null
      stripChars - the characters to remove, null treated as whitespace
      Returns:
      the stripped String, null if null String input
    • stripStart

      public static String stripStart(String str, String stripChars)

      Strips any of a set of characters from the start of a String.

      A null input String returns null. An empty string ("") input returns the empty string.

      If the stripChars String is null, whitespace is stripped as defined by Character.isWhitespace(char).

       StringUtils.stripStart(null, *)          = null
       StringUtils.stripStart("", *)            = ""
       StringUtils.stripStart("abc", "")        = "abc"
       StringUtils.stripStart("abc", null)      = "abc"
       StringUtils.stripStart("  abc", null)    = "abc"
       StringUtils.stripStart("abc  ", null)    = "abc  "
       StringUtils.stripStart(" abc ", null)    = "abc "
       StringUtils.stripStart("yxabc  ", "xyz") = "abc  "
       
      Parameters:
      str - the String to remove characters from, may be null
      stripChars - the characters to remove, null treated as whitespace
      Returns:
      the stripped String, null if null String input
    • stripEnd

      public static String stripEnd(String str, String stripChars)

      Strips any of a set of characters from the end of a String.

      A null input String returns null. An empty string ("") input returns the empty string.

      If the stripChars String is null, whitespace is stripped as defined by Character.isWhitespace(char).

       StringUtils.stripEnd(null, *)          = null
       StringUtils.stripEnd("", *)            = ""
       StringUtils.stripEnd("abc", "")        = "abc"
       StringUtils.stripEnd("abc", null)      = "abc"
       StringUtils.stripEnd("  abc", null)    = "  abc"
       StringUtils.stripEnd("abc  ", null)    = "abc"
       StringUtils.stripEnd(" abc ", null)    = " abc"
       StringUtils.stripEnd("  abcyx", "xyz") = "  abc"
       
      Parameters:
      str - the String to remove characters from, may be null
      stripChars - the characters to remove, null treated as whitespace
      Returns:
      the stripped String, null if null String input
    • escapeNumericChar

      public static String escapeNumericChar(String str)
      write the escaped version of a given string
      Parameters:
      str - string to be encoded
      Returns:
      a new escaped String, null if null string input
    • escapeNumericChar

      public static void escapeNumericChar(Writer out, String str) throws IOException
      write the escaped version of a given string
      Parameters:
      out - writer to write this string to
      str - string to be encoded
      Throws:
      IOException
    • makeQNameToMatchLocalName

      public static String makeQNameToMatchLocalName(String str)

      This method provides a way to convert the a QName to local name. This need to be done is because Axis 1.x follow the java naming convetation for local name rather then xml naming convenation for the local name.

      A null input String returns null.

              makeQNameToMatchLocalName("Foo.bar")  = fooBar
              makeQNameToMatchLocalName("Foo.Bar")  = fooBar
              makeQNameToMatchLocalName("FooBar")   = fooBar
              makeQNameToMatchLocalName("Foobar")   = fooBar
              makeQNameToMatchLocalName("fooBar")   = fooBar
              makeQNameToMatchLocalName("foobar")   = foobar
              makeQNameToMatchLocalName("Foo:bar")  = fooBar
              makeQNameToMatchLocalName("Foo-Bar")  = fooBar
              makeQNameToMatchLocalName("Foo-bar")  = fooBar
              makeQNameToMatchLocalName("Foo_bar")  = foo_bar
              makeQNameToMatchLocalName("Foo_Bar")  = foo_Bar
              makeQNameToMatchLocalName("foo:bar")  = fooBar
       
      Parameters:
      str - the String to parse, may be null null splits on whitespace
      Returns:
      String the java naming compliante name
    • deleteCharAndChangeNextCharToUpperCase

      public static String deleteCharAndChangeNextCharToUpperCase(String psWord, String psReplace)

      This method provided a way to delete the given string and change the following first character to capital letter, this is provided because Axis 1.x follow the java naming convenation rather then xml naming convention for there local name.

      A null input String returns null.

              deleteCharAndChangeNextCharToUpperCase("Foo.bar") = fooBar
        deleteCharAndChangeNextCharToUpperCase("Foo.Bar") = fooBar
        deleteCharAndChangeNextCharToUpperCase("Foo:bar") = fooBar
        deleteCharAndChangeNextCharToUpperCase("Foo-Bar") = fooBar
              deleteCharAndChangeNextCharToUpperCase("Foo-bar") = fooBar
              deleteCharAndChangeNextCharToUpperCase("Foo_bar") = foo_bar
              deleteCharAndChangeNextCharToUpperCase("Foo_Bar") = foo_Bar
              deleteCharAndChangeNextCharToUpperCase("Foo_bar") = foo_bar
              deleteCharAndChangeNextCharToUpperCase("foo:bar") = fooBar
       
      Parameters:
      psWord - the String to be changed return null if null passed.
      psReplace - the String that need to be eliminated, return null or psWord if psWord is not null if null passed.
      Returns:
      String the java naming compliant name
    • unescapeNumericChar

      public static String unescapeNumericChar(String str)

      Unescapes numeric character referencs found in the String.

      For example, it will return a unicode string which means the specified numeric character references looks like "ようこそ".

      Parameters:
      str - the String to unescape, may be null
      Returns:
      a new unescaped String, null if null string input
    • unescapeNumericChar

      public static void unescapeNumericChar(Writer out, String str) throws IOException

      Unescapes numeric character references found in the String to a Writer.

      For example, it will return a unicode string which means the specified numeric character references looks like "ようこそ".

      A null string input has no effect.

      Parameters:
      out - the Writer used to output unescaped characters
      str - the String to unescape, may be null
      Throws:
      IllegalArgumentException - if the Writer is null
      IOException - if error occurs on underlying Writer