Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.sun.jersey.api.uri
Class UriComponent

    java.lang.Object
      com.sun.jersey.api.uri.UriComponent

    public class UriComponent

extends java.lang.Object

Utility class for validating, encoding and decoding components of a URI.

Author:
  Paul.Sandoz@Sun.Com

Nested Class Summary
`static class` | `UriComponent.Type` The URI component type.

Method Summary
`static java.lang.String` | `contextualEncode(java.lang.String s, UriComponent.Type t)` Contextually encodes the characters of string that are either non-ASCII characters or are ASCII characters that must be percent-encoded using the UTF-8 encoding.
`static java.lang.String` | `contextualEncode(java.lang.String s, UriComponent.Type t, boolean template)` Contextually encodes the characters of string that are either non-ASCII characters or are ASCII characters that must be percent-encoded using the UTF-8 encoding.
`static java.lang.String` | `decode(java.lang.String s, UriComponent.Type t)` Decodes characters of a string that are percent-encoded octets using UTF-8 decoding (if needed).
`static MultivaluedMap<java.lang.String,java.lang.String>` | `decodeMatrix(java.lang.String pathSegment, boolean decode)` Decode the matrix component of a URI path segment.
`static java.util.List<PathSegment>` | `decodePath(java.lang.String path, boolean decode)` Decode the path component of a URI as path segments.
`static java.util.List<PathSegment>` | `decodePath(java.net.URI u, boolean decode)` Decode the path component of a URI as path segments.
`static void` | `decodePathSegment(java.util.List<PathSegment> segments, java.lang.String segment, boolean decode)`
`static MultivaluedMap<java.lang.String,java.lang.String>` | `decodeQuery(java.lang.String q, boolean decode)` Decode the query component of a URI.
`static MultivaluedMap<java.lang.String,java.lang.String>` | `decodeQuery(java.net.URI u, boolean decode)` Decode the query component of a URI.
`static java.lang.String` | `encode(java.lang.String s, UriComponent.Type t)` Encodes the characters of string that are either non-ASCII characters or are ASCII characters that must be percent-encoded using the UTF-8 encoding.
`static java.lang.String` | `encode(java.lang.String s, UriComponent.Type t, boolean template)` Encodes the characters of string that are either non-ASCII characters or are ASCII characters that must be percent-encoded using the UTF-8 encoding.
`static java.lang.String` | `encodeTemplateNames(java.lang.String s)` Encodes a string with template parameters names present, specifically the characters '{' and '}' will be percent-encoded.
`static boolean` | `valid(java.lang.String s, UriComponent.Type t)` Validates the legal characters of a percent-encoded string that represents a URI component type.
`static boolean` | `valid(java.lang.String s, UriComponent.Type t, boolean template)` Validates the legal characters of a percent-encoded string that represents a URI component type.
`static void` | `validate(java.lang.String s, UriComponent.Type t)` Validates the legal characters of a percent-encoded string that represents a URI component type.
`static void` | `validate(java.lang.String s, UriComponent.Type t, boolean template)` Validates the legal characters of a percent-encoded string that represents a URI component type.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### validate

    public static void validate(java.lang.String s,
                                UriComponent.Type t)

  Validates the legal characters of a percent-encoded string that represents a URI component type.

  Parameters:
    `s` - the encoded string.
    `t` - the URI compontent type identifying the legal characters.
  Throws:
    `java.lang.IllegalArgumentException` - if the encoded string contains illegal characters.

### validate

    public static void validate(java.lang.String s,
                                UriComponent.Type t,
                                boolean template)

  Validates the legal characters of a percent-encoded string that represents a URI component type.

  Parameters:
    `s` - the encoded string.
    `t` - the URI compontent type identifying the legal characters.
    `template` - true if the encoded string contains URI template variables
  Throws:
    `java.lang.IllegalArgumentException` - if the encoded string contains illegal characters.

### valid

    public static boolean valid(java.lang.String s,
                                UriComponent.Type t)

  Validates the legal characters of a percent-encoded string that represents a URI component type.

  Parameters:
    `s` - the encoded string.
    `t` - the URI compontent type identifying the legal characters.
  Returns:
    true if the encoded string is valid, otherwise false.

### valid

    public static boolean valid(java.lang.String s,
                                UriComponent.Type t,
                                boolean template)

  Validates the legal characters of a percent-encoded string that represents a URI component type.

  Parameters:
    `s` - the encoded string.
    `t` - the URI compontent type identifying the legal characters.
    `template` - true if the encoded string contains URI template variables
  Returns:
    true if the encoded string is valid, otherwise false.

### contextualEncode

    public static java.lang.String contextualEncode(java.lang.String s,
                                                    UriComponent.Type t)

  Contextually encodes the characters of string that are either non-ASCII characters or are ASCII characters that must be percent-encoded using the UTF-8 encoding. Percent-encoded characters will be recognized and not double encoded.

  Parameters:
    `s` - the string to be encoded.
    `t` - the URI compontent type identifying the ASCII characters that must be percent-encoded.
  Returns:
    the encoded string.

### contextualEncode

    public static java.lang.String contextualEncode(java.lang.String s,
                                                    UriComponent.Type t,
                                                    boolean template)

  Contextually encodes the characters of string that are either non-ASCII characters or are ASCII characters that must be percent-encoded using the UTF-8 encoding. Percent-encoded characters will be recognized and not double encoded.

  Parameters:
    `s` - the string to be encoded.
    `t` - the URI compontent type identifying the ASCII characters that must be percent-encoded.
    `template` - true if the encoded string contains URI template variables
  Returns:
    the encoded string.

### encode

    public static java.lang.String encode(java.lang.String s,
                                          UriComponent.Type t)

  Encodes the characters of string that are either non-ASCII characters or are ASCII characters that must be percent-encoded using the UTF-8 encoding.

  Parameters:
    `s` - the string to be encoded.
    `t` - the URI compontent type identifying the ASCII characters that must be percent-encoded.
  Returns:
    the encoded string.

### encode

    public static java.lang.String encode(java.lang.String s,
                                          UriComponent.Type t,
                                          boolean template)

  Encodes the characters of string that are either non-ASCII characters or are ASCII characters that must be percent-encoded using the UTF-8 encoding.

  Parameters:
    `s` - the string to be encoded.
    `t` - the URI compontent type identifying the ASCII characters that must be percent-encoded.
    `template` - true if the encoded string contains URI template variables
  Returns:
    the encoded string.

### encodeTemplateNames

    public static java.lang.String encodeTemplateNames(java.lang.String s)

  Encodes a string with template parameters names present, specifically the characters '{' and '}' will be percent-encoded.

  Parameters:
    `s` - the string with zero or more template parameters names
  Returns:
    the string with encoded template parameters names.

### decode

    public static java.lang.String decode(java.lang.String s,
                                          UriComponent.Type t)

  Decodes characters of a string that are percent-encoded octets using UTF-8 decoding (if needed).

  It is assumed that the string is valid according to an (unspecified) URI component type. If a sequence of contiguous percent-encoded octets is not a valid UTF-8 character then the octets are replaced with '�'.

  If the URI component is of type HOST then any "%" found between "[]" is left alone. It is an IPv6 literal with a scope_id.

  If the URI component is of type QUERY_PARAM then any "+" is decoded as as ' '.

  Parameters:
    `s` - the string to be decoded.
    `t` - the URI component type, may be null.
  Returns:
    the decoded string.
  Throws:
    `java.lang.IllegalArgumentException` - if a malformed percent-encoded octet is detected

### decodeQuery

    public static MultivaluedMap<java.lang.String,java.lang.String> decodeQuery(java.net.URI u,
                                                                                boolean decode)

  Decode the query component of a URI.

  Parameters:
    `u` - the URI.
    `decode` - true if the query parameters of the query component should be in decoded form.
  Returns:
    the multivalued map of query parameters.

### decodeQuery

    public static MultivaluedMap<java.lang.String,java.lang.String> decodeQuery(java.lang.String q,
                                                                                boolean decode)

  Decode the query component of a URI.

  Parameters:
    `q` - the query component in encoded form.
    `decode` - true of the query parameters of the query component should be in decoded form.
  Returns:
    the multivalued map of query parameters.

### decodePath

    public static java.util.List<PathSegment> decodePath(java.net.URI u,
                                                         boolean decode)

  Decode the path component of a URI as path segments.

  Parameters:
    `u` - the URI. If the path component is an absolute path component then the leading '/' is ignored and is not considered a delimiator of a path segment.
    `decode` - true if the path segments of the path component should be in decoded form.
  Returns:
    the list of path segments.

### decodePath

    public static java.util.List<PathSegment> decodePath(java.lang.String path,
                                                         boolean decode)

  Decode the path component of a URI as path segments.

  Any '/' character in the path is considered to be a deliminator between two path segments. Thus if the path is '/' then the path segment list will contain two empty path segments. If the path is "//" then the path segment list will contain three empty path segments. If the path is "/a/" the path segment list will consist of the following path segments in order: "", "a" and "".

  Parameters:
    `path` - the path component in encoded form.
    `decode` - true if the path segments of the path component should be in decoded form.
  Returns:
    the list of path segments.

### decodePathSegment

    public static void decodePathSegment(java.util.List<PathSegment> segments,
                                         java.lang.String segment,
                                         boolean decode)

### decodeMatrix

    public static MultivaluedMap<java.lang.String,java.lang.String> decodeMatrix(java.lang.String pathSegment,
                                                                                 boolean decode)

  Decode the matrix component of a URI path segment.

  Parameters:
    `pathSegment` - the path segment component in encoded form.
    `decode` - true if the matrix parameters of the path segment component should be in decoded form.
  Returns:
    the multivalued map of matrix parameters.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2011 Oracle Corporation. All Rights Reserved.