Class StringSupport

java.lang.Object
net.shibboleth.shared.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 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.

      While the source collection may or may not be ordered, the encounter order of the elements will be maintained in the returned collection, i.e., ordered collections will retain that property.

      Parameters:
      values - the collection of string values
      Returns:
      the normalized collection of string values
    • booleanOf

      @Nullable public static Boolean booleanOf(@Nullable 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.