java.lang.Object
net.shibboleth.utilities.java.support.primitive.StringSupport

public final class StringSupport
extends Object
String utility methods.
  • Constructor Details

    • StringSupport

      private StringSupport()
      Constructor.
  • Method Details

    • inputStreamToString

      @Nonnull public static String inputStreamToString​(@Nonnull InputStream input, @Nullable CharsetDecoder decoder) throws IOException
      Reads an input stream into a string. The provided stream is not closed.
      Parameters:
      input - the input stream to read
      decoder - character decoder to use, if null, system default character set is used
      Returns:
      the string read from the stream
      Throws:
      IOException - thrown if there is a problem reading from the stream and decoding it
    • listToStringValue

      @Nonnull public static String listToStringValue​(@Nonnull List<?> values, @Nonnull String delimiter)
      Converts a List of objects into a single string, with values separated by a specified delimiter.
      Parameters:
      values - list of objects
      delimiter - the delimiter used between values
      Returns:
      delimited string of values
    • stringToList

      @Nonnull public static List<String> stringToList​(@Nonnull String string, @Nonnull String delimiter)
      Converts a delimited string into a list. We cannot use an ungarnished tokenizer since it doesn't add an empty String if the end of the input String was the delimiter. Hence we have to explicitly check.
      Parameters:
      string - the string to be split into a list
      delimiter - the delimiter between values. This string may contain multiple delimiter characters, as allowed by StringTokenizer
      Returns:
      the list of values or an empty list if the given string is empty
    • trim

      @Nullable public static String trim​(@Nullable String s)
      Safely trims a string.
      Parameters:
      s - the string to trim, may be null
      Returns:
      the trimmed string or null if the given string was null
    • trimOrNull

      @Nullable public static String trimOrNull​(@Nullable String s)
      Safely trims a string and, if empty, converts it to null.
      Parameters:
      s - the string to trim, may be null
      Returns:
      the trimmed string or null if the given string was null or the trimmed string was empty
    • normalizeStringCollection

      @Nonnull @NonnullElements public static Collection<String> normalizeStringCollection​(@Nullable @NullableElements Collection<String> values)
      Normalize a string collection by:
      1. Safely trimming each member.
      2. Converting all empty members to null.
      3. Removing any null members.
      Parameters:
      values - the collection of string values
      Returns:
      the normalized collection of string values
    • booleanOf

      @Nullable public static Boolean booleanOf​(String what)
      Null/empty preserving conversion from xs:boolean to Boolean.
      Parameters:
      what - the string: potentially empty or null
      Returns:
      null or the boolean equivalent.