Top Fields Constructors Methods
org.keycloak.common.util

public Class Encode

extends Object
Class Inheritance
Imports
java.io.UnsupportedEncodingException, java.net.URLDecoder, .URLEncoder, java.nio.ByteBuffer, java.nio.charset.CharacterCodingException, .Charset, .CharsetDecoder, .StandardCharsets, java.util.ArrayList, .List, .Map, java.util.regex.Matcher, .Pattern

Author
Bill Burke
Version
$Revision: 1 $

Field Summary

Modifier and TypeField and Description
private static final Pattern
private static final Pattern
private static final String[]
private static final Pattern
private static final Pattern
private static final String[]
private static final String[]
private static final String[]
private static final String[]
private static final String

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public static MultivaluedHashMap<String, String>
decode(MultivaluedHashMap<String, String> map)

decode an encoded map

public static MultivaluedHashMap<String, String>
decode(MultivaluedHashMap<String, String> map, String charset)

decode an encoded map

public static String
decode(String string)

private static String
public static String
private static String

Returns:

URL encoded character
encode
(int
integer representation of character
zhar
,
String[]
encoding map
encodingMap
)

public static MultivaluedHashMap<String, String>
public static String
encodeFragment(String value)

Keep encoded values "%..." and template parameters intact.

public static String
public static String
encodeFragmentNotTemplateParameters(String value)

Keep encoded values "%..." but not the template parameters.

protected static String
encodeFromArray(String segment, String[] encodingMap, boolean encodePercent)

public static String
encodeMatrixParam(String value)

Keep encoded values "%..." and template parameters intact.

public static String
encodeNonCodes(String string)

Encode '%' if it is not an encoding sequence

public static String
encodePath(String value)

Keep encoded values "%...", matrix parameters, template parameters, and '/' characters intact.

public static String
encodePathAsIs(String segment)

Encode via RFC 3986.

public static String
encodePathSaveEncodings(String segment)

Keep any valid encodings from string i.e. keep "%2D" but don't keep "%p"

public static String
encodePathSegment(String value)

Keep encoded values "%...", matrix parameters and template parameters intact.

public static String
public static String
encodePathSegmentSaveEncodings(String segment)

Keep any valid encodings from string i.e. keep "%2D" but don't keep "%p"

public static String
encodeQueryParam(String value)

Keep encoded values "%..." and template parameters intact.

public static String
encodeQueryParamAsIs(String nameOrValue)

Encodes everything of a query parameter name or value.

public static String
encodeQueryParamSaveEncodings(String segment)

Keep any valid encodings from string i.e. keep "%2D" but don't keep "%p"

public static String
encodeQueryString(String value)

Keep encoded values "%..." and template parameters intact.

public static String
encodeQueryStringNotTemplateParameters(String value)

Keep encoded values "%..." but not the template parameters.

public static String
encodeValue(String segment, String[] encoding)

Keep encoded values "%..." and template parameters intact i.e. "{x}"

public static String
public static boolean
savePathParams(String segment, StringBuilder newSegment, List<String> params)

public static String

Returns:

URL decoded input
urlDecode
(String string)

public static String

Returns:

URL encoded input
urlEncode
(String string)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

encodedCharsback to summary
private static final Pattern encodedChars
encodedCharsMultiback to summary
private static final Pattern encodedCharsMulti
matrixParameterEncodingback to summary
private static final String[] matrixParameterEncoding
nonCodesback to summary
private static final Pattern nonCodes
PARAM_REPLACEMENTback to summary
private static final Pattern PARAM_REPLACEMENT
pathEncodingback to summary
private static final String[] pathEncoding
pathSegmentEncodingback to summary
private static final String[] pathSegmentEncoding
queryNameValueEncodingback to summary
private static final String[] queryNameValueEncoding
queryStringEncodingback to summary
private static final String[] queryStringEncoding
UTF_8back to summary
private static final String UTF_8

Constructor Detail

Encodeback to summary
public Encode()

Method Detail

decodeback to summary
public static MultivaluedHashMap<String, String> decode(MultivaluedHashMap<String, String> map)

decode an encoded map

decodeback to summary
public static MultivaluedHashMap<String, String> decode(MultivaluedHashMap<String, String> map, String charset)

decode an encoded map

decodeback to summary
public static String decode(String string)
decodeBytesback to summary
private static String decodeBytes(String enc, CharsetDecoder decoder)
decodePathback to summary
public static String decodePath(String path)
encodeback to summary
private static String encode(int zhar, String[] encodingMap)
Parameters
zhar:int

integer representation of character

encodingMap:String[]

encoding map

Returns:String

URL encoded character

encodeback to summary
public static MultivaluedHashMap<String, String> encode(MultivaluedHashMap<String, String> map)
encodeFragmentback to summary
public static String encodeFragment(String value)

Keep encoded values "%..." and template parameters intact.

encodeFragmentAsIsback to summary
public static String encodeFragmentAsIs(String nameOrValue)
encodeFragmentNotTemplateParametersback to summary
public static String encodeFragmentNotTemplateParameters(String value)

Keep encoded values "%..." but not the template parameters.

encodeFromArrayback to summary
protected static String encodeFromArray(String segment, String[] encodingMap, boolean encodePercent)
encodeMatrixParamback to summary
public static String encodeMatrixParam(String value)

Keep encoded values "%..." and template parameters intact.

encodeNonCodesback to summary
public static String encodeNonCodes(String string)

Encode '%' if it is not an encoding sequence

encodePathback to summary
public static String encodePath(String value)

Keep encoded values "%...", matrix parameters, template parameters, and '/' characters intact.

encodePathAsIsback to summary
public static String encodePathAsIs(String segment)

Encode via RFC 3986. PCHAR is allowed allong with '/'

unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~" sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "=" pchar = unreserved / pct-encoded / sub-delims / ":" / "@"

encodePathSaveEncodingsback to summary
public static String encodePathSaveEncodings(String segment)

Keep any valid encodings from string i.e. keep "%2D" but don't keep "%p"

encodePathSegmentback to summary
public static String encodePathSegment(String value)

Keep encoded values "%...", matrix parameters and template parameters intact.

encodePathSegmentAsIsback to summary
public static String encodePathSegmentAsIs(String segment)

Encode via RFC 3986. PCHAR is allowed allong with '/'

unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~" sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "=" pchar = unreserved / pct-encoded / sub-delims / ":" / "@"

encodePathSegmentSaveEncodingsback to summary
public static String encodePathSegmentSaveEncodings(String segment)

Keep any valid encodings from string i.e. keep "%2D" but don't keep "%p"

encodeQueryParamback to summary
public static String encodeQueryParam(String value)

Keep encoded values "%..." and template parameters intact.

encodeQueryParamAsIsback to summary
public static String encodeQueryParamAsIs(String nameOrValue)

Encodes everything of a query parameter name or value.

encodeQueryParamSaveEncodingsback to summary
public static String encodeQueryParamSaveEncodings(String segment)

Keep any valid encodings from string i.e. keep "%2D" but don't keep "%p"

encodeQueryStringback to summary
public static String encodeQueryString(String value)

Keep encoded values "%..." and template parameters intact.

encodeQueryStringNotTemplateParametersback to summary
public static String encodeQueryStringNotTemplateParameters(String value)

Keep encoded values "%..." but not the template parameters.

encodeValueback to summary
public static String encodeValue(String segment, String[] encoding)

Keep encoded values "%..." and template parameters intact i.e. "{x}"

pathParamReplacementback to summary
public static String pathParamReplacement(String segment, List<String> params)
savePathParamsback to summary
public static boolean savePathParams(String segment, StringBuilder newSegment, List<String> params)
urlDecodeback to summary
public static String urlDecode(String string)
Returns:String

URL decoded input

urlEncodeback to summary
public static String urlEncode(String string)
Returns:String

URL encoded input