org.jboss.resteasy.auth.oauth

## Class URLUtils

- java.lang.Object
- - org.jboss.resteasy.auth.oauth.URLUtils

-     public class URLUtils
      extends Object

  URL-encoding utility for each URL part according to the RFC specs
  Author:
    stephane@epardaud.fr
  See Also:
    `http://www.ietf.org/rfc/rfc3986.txt`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static BitSet` | `ALPHA` alpha = lowalpha | upalpha
    `static BitSet` | `ALPHANUM` alphanum = alpha | digit
    `static BitSet` | `DIGIT` digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
    `static BitSet` | `FRAGMENT` fragment = pchar / "/" / "?"
    `static BitSet` | `GEN_DELIMS` gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "@"
    `static BitSet` | `LOW_ALPHA` lowalpha = "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z"
    `static BitSet` | `PATH_PARAM_NAME` path_param_name = pchar ";" | "="
    `static BitSet` | `PATH_PARAM_VALUE` path_param_value = pchar ";"
    `static BitSet` | `PATH_SEGMENT` path_segment = pchar ";"
    `static BitSet` | `PCHAR` pchar = unreserved | escaped | sub-delims | ":" | "@" Note: we don't allow escaped here since we will escape it ourselves, so we don't want to allow them in the unescaped sequences
    `static BitSet` | `QUERY` query = pchar / "/" / "?"
    `static BitSet` | `RESERVED` reserved = gen-delims | sub-delims
    `static BitSet` | `SUB_DELIMS` sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="
    `static BitSet` | `UNRESERVED` unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
    `static BitSet` | `UP_ALPHA` upalpha = "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "J" | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" | "S" | "T" | "U" | "V" | "W" | "X" | "Y" | "Z"

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `URLUtils()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static String` | `encodePart(String part, String charset, BitSet allowed)` Encodes a string to be a valid URI part, with the given characters allowed.
    `static String` | `encodePathParamName(String pathParamName)` Encodes a string to be a valid path parameter name, which means it can contain PCHAR* without "=" or ";".
    `static String` | `encodePathParamValue(String pathParamValue)` Encodes a string to be a valid path parameter value, which means it can contain PCHAR* without ";".
    `static String` | `encodePathSegment(String pathSegment)` Encodes a string to be a valid path segment, which means it can contain PCHAR* only (do not put path parameters or they will be escaped.
    `static String` | `encodeQueryNameOrValue(String queryNameOrValue)` Encodes a string to be a valid query, which means it can contain PCHAR* | "?" | "/" without "=" | "&" | "+".
    `static String` | `encodeQueryNameOrValueNoParen(String queryNameOrValueNoParen)` Encodes a string to be a valid query with no parenthesis, which means it can contain PCHAR* | "?" | "/" without "=" | "&" | "+" | "(" | ")".

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### GEN_DELIMS

          public static final BitSet GEN_DELIMS

      gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "@"

    - #### SUB_DELIMS

          public static final BitSet SUB_DELIMS

      sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="

    - #### RESERVED

          public static final BitSet RESERVED

      reserved = gen-delims | sub-delims

    - #### LOW_ALPHA

          public static final BitSet LOW_ALPHA

      lowalpha = "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z"

    - #### UP_ALPHA

          public static final BitSet UP_ALPHA

      upalpha = "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "J" | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" | "S" | "T" | "U" | "V" | "W" | "X" | "Y" | "Z"

    - #### ALPHA

          public static final BitSet ALPHA

      alpha = lowalpha | upalpha

    - #### DIGIT

          public static final BitSet DIGIT

      digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"

    - #### ALPHANUM

          public static final BitSet ALPHANUM

      alphanum = alpha | digit

    - #### UNRESERVED

          public static final BitSet UNRESERVED

      unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"

    - #### PCHAR

          public static final BitSet PCHAR

      pchar = unreserved | escaped | sub-delims | ":" | "@" Note: we don't allow escaped here since we will escape it ourselves, so we don't want to allow them in the unescaped sequences

    - #### PATH_SEGMENT

          public static final BitSet PATH_SEGMENT

      path_segment = pchar ";"

    - #### PATH_PARAM_NAME

          public static final BitSet PATH_PARAM_NAME

      path_param_name = pchar ";" | "="

    - #### PATH_PARAM_VALUE

          public static final BitSet PATH_PARAM_VALUE

      path_param_value = pchar ";"

    - #### QUERY

          public static final BitSet QUERY

      query = pchar / "/" / "?"

    - #### FRAGMENT

          public static final BitSet FRAGMENT

      fragment = pchar / "/" / "?"

  - ### Constructor Detail

    - #### URLUtils

          public URLUtils()

  - ### Method Detail

    - #### encodePathParamName

          public static String encodePathParamName(String pathParamName)

      Encodes a string to be a valid path parameter name, which means it can contain PCHAR* without "=" or ";". Uses UTF-8.

    - #### encodePathParamValue

          public static String encodePathParamValue(String pathParamValue)

      Encodes a string to be a valid path parameter value, which means it can contain PCHAR* without ";". Uses UTF-8.

    - #### encodeQueryNameOrValue

          public static String encodeQueryNameOrValue(String queryNameOrValue)

      Encodes a string to be a valid query, which means it can contain PCHAR* | "?" | "/" without "=" | "&" | "+". Uses UTF-8.

    - #### encodeQueryNameOrValueNoParen

          public static String encodeQueryNameOrValueNoParen(String queryNameOrValueNoParen)

      Encodes a string to be a valid query with no parenthesis, which means it can contain PCHAR* | "?" | "/" without "=" | "&" | "+" | "(" | ")". It strips parenthesis. Uses UTF-8.

    - #### encodePathSegment

          public static String encodePathSegment(String pathSegment)

      Encodes a string to be a valid path segment, which means it can contain PCHAR* only (do not put path parameters or they will be escaped. Uses UTF-8.

    - #### encodePart

          public static String encodePart(String part,
                          String charset,
                          BitSet allowed)
                                   throws UnsupportedEncodingException

      Encodes a string to be a valid URI part, with the given characters allowed. The rest will be encoded.
      Throws:
        `UnsupportedEncodingException`

Copyright © 2014. All Rights Reserved.