Package net.shibboleth.shared.primitive
Class StringSupport
java.lang.Object
net.shibboleth.shared.primitive.StringSupport
String utility methods.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic BooleanNull/empty preserving conversion from xs:boolean toBoolean.static StringinputStreamToString(InputStream input, CharsetDecoder decoder) Reads an input stream into a string.static StringlistToStringValue(List<?> values, String delimiter) Converts a List of objects into a single string, with values separated by a specified delimiter.static Collection<String>normalizeStringCollection(Collection<String> values) Normalize a string collection by: Safely trimming each member. Converting all empty members to null. Removing any null members.stringToList(String string, String delimiter) Converts a delimited string into a list.static StringSafely trims a string.static StringtrimOrNull(String s) Safely trims a string and, if empty, converts it to null.
-
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 readdecoder- 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
Converts a List of objects into a single string, with values separated by a specified delimiter.- Parameters:
values- list of objectsdelimiter- the delimiter used between values- Returns:
- delimited string of values
-
stringToList
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 listdelimiter- the delimiter between values. This string may contain multiple delimiter characters, as allowed byStringTokenizer- Returns:
- the list of values or an empty list if the given string is empty
-
trim
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
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:- Safely trimming each member.
- Converting all empty members to null.
- Removing any null members.
- Parameters:
values- the collection of string values- Returns:
- the normalized collection of string values
-
booleanOf
Null/empty preserving conversion from xs:boolean toBoolean.- Parameters:
what- the string: potentially empty or null- Returns:
- null or the boolean equivalent.
-