public class StringUtilities
extends java.lang.Object
构造器和说明 |
---|
StringUtilities() |
限定符和类型 | 方法和说明 |
---|---|
static void |
addValueToHeader(java.util.Map<java.lang.String,java.util.List<java.lang.String>> headers,
java.lang.String key,
java.lang.String value,
boolean singleValued)
Adds an header to the provided map of headers.
|
static java.lang.String |
copyDirective(java.util.HashMap<java.lang.String,java.lang.String> src,
java.util.HashMap<java.lang.String,java.lang.String> dst,
java.lang.String directive)
Copy the directive from the source map to the destination map, if it's
value isn't null.
|
static void |
copyDirective(java.util.HashMap<java.lang.String,java.lang.String> directives,
java.lang.StringBuilder sb,
java.lang.String directive)
Copy the directive to the
StringBuilder if not null. |
static java.lang.String |
getDirectiveValue(java.util.HashMap<java.lang.String,java.lang.String> directivesMap,
java.lang.String directive,
boolean mandatory)
A directive is a parameter of the digest authentication process.
|
static java.lang.String |
getSingleValuedHeader(java.util.Map<java.lang.String,java.util.List<java.lang.String>> headers,
java.lang.String key)
Returns the value of the named header.
|
static boolean |
isLws(byte b)
Is character a linear white space ?
|
static java.util.HashMap<java.lang.String,java.lang.String> |
parseDirectives(byte[] buf)
Parses digest-challenge string, extracting each token and value(s).
|
static java.lang.String |
stringTo8859_1(java.lang.String str)
Used to convert username-value, passwd or realm to 8859_1 encoding
if all chars in string are within the 8859_1 (Latin 1) encoding range.
|
public static java.lang.String getDirectiveValue(java.util.HashMap<java.lang.String,java.lang.String> directivesMap, java.lang.String directive, boolean mandatory) throws javax.security.sasl.AuthenticationException
AuthenticationException
.directivesMap
- the directive's mapdirective
- the name of the directive we want to retrievemandatory
- is the directive mandatoryjavax.security.sasl.AuthenticationException
- if mandatory is true and if
directivesMap.get(directive) == nullpublic static void copyDirective(java.util.HashMap<java.lang.String,java.lang.String> directives, java.lang.StringBuilder sb, java.lang.String directive)
StringBuilder
if not null.
(A directive is a parameter of the digest authentication process.)directives
- the directives mapsb
- the output bufferdirective
- the directive name to look forpublic static java.lang.String copyDirective(java.util.HashMap<java.lang.String,java.lang.String> src, java.util.HashMap<java.lang.String,java.lang.String> dst, java.lang.String directive)
src
- the source mapdst
- the destination mapdirective
- the directive namepublic static java.util.HashMap<java.lang.String,java.lang.String> parseDirectives(byte[] buf) throws javax.security.sasl.SaslException
buf
- A non-null digest-challenge string.javax.security.sasl.SaslException
- if the String cannot be parsed according to RFC 2831public static boolean isLws(byte b)
b
- the byte to checkpublic static java.lang.String stringTo8859_1(java.lang.String str) throws java.io.UnsupportedEncodingException
str
- a non-null Stringjava.io.UnsupportedEncodingException
- if we weren't able to decode using the ISO 8859_1 encodingpublic static java.lang.String getSingleValuedHeader(java.util.Map<java.lang.String,java.util.List<java.lang.String>> headers, java.lang.String key)
IllegalArgumentException
is thrownheaders
- the http headers mapkey
- the key of the headerpublic static void addValueToHeader(java.util.Map<java.lang.String,java.util.List<java.lang.String>> headers, java.lang.String key, java.lang.String value, boolean singleValued)
headers
- the http headers mapkey
- the name of the new header to addvalue
- the value of the added headersingleValued
- if true and the map already contains one value
then it is replaced by the new value. Otherwise it simply adds a new
value to this multi-valued header.