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.
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
Null/empty preserving conversion from xs:boolean toBoolean.- Parameters:
what- the string: potentially empty or null- Returns:
- null or the boolean equivalent.
-