javax.ws.rs.core
Interface UriInfo


public interface UriInfo

An injectable interface that provides access to application and request URI information. All methods except getBaseUri() and getBaseUriBuilder() throw java.lang.IllegalStateException if called outside the scope of a request (e.g. from a provider constructor)

See Also:
Context

Method Summary
 java.net.URI getAbsolutePath()
          Get the absolute path of the request.
 UriBuilder getAbsolutePathBuilder()
          Get the absolute path of the request in the form of a UriBuilder.
 java.net.URI getBaseUri()
          Get the base URI of the application.
 UriBuilder getBaseUriBuilder()
          Get the base URI of the application in the form of a UriBuilder.
 java.lang.String getPath()
          Get the path of the current request relative to the base URI as a string.
 java.lang.String getPath(boolean decode)
          Get the path of the current request relative to the base URI as a string.
 java.util.List<PathSegment> getPathSegments()
          Get the path of the current request relative to the base URI as a list of PathSegment.
 java.util.List<PathSegment> getPathSegments(boolean decode)
          Get the path of the current request relative to the base URI as a list of PathSegment.
 MultivaluedMap<java.lang.String,java.lang.String> getQueryParameters()
          Get the URI query parameters of the current request.
 MultivaluedMap<java.lang.String,java.lang.String> getQueryParameters(boolean decode)
          Get the URI query parameters of the current request.
 java.net.URI getRequestUri()
          Get the absolute request URI.
 UriBuilder getRequestUriBuilder()
          Get the absolute request URI in the form of a UriBuilder.
 MultivaluedMap<java.lang.String,java.lang.String> getTemplateParameters()
          Get the values of any embedded URI template parameters.
 MultivaluedMap<java.lang.String,java.lang.String> getTemplateParameters(boolean decode)
          Get the values of any embedded URI template parameters.
 

Method Detail

getPath

java.lang.String getPath()
Get the path of the current request relative to the base URI as a string. All sequences of escaped octets are decoded, equivalent to getPath(true).

Returns:
the relative URI path
Throws:
java.lang.IllegalStateException - if called outside the scope of a request

getPath

java.lang.String getPath(boolean decode)
Get the path of the current request relative to the base URI as a string.

Parameters:
decode - controls whether sequences of escaped octets are decoded (true) or not (false).
Returns:
the relative URI path
Throws:
java.lang.IllegalStateException - if called outside the scope of a request

getPathSegments

java.util.List<PathSegment> getPathSegments()
Get the path of the current request relative to the base URI as a list of PathSegment. This method is useful when the path needs to be parsed, particularly when matrix parameters may be present in the path. All sequences of escaped octets are decoded, equivalent to getPathSegments(true).

Returns:
an unmodifiable list of PathSegment. The matrix parameter map of each path segment is also unmodifiable.
Throws:
java.lang.IllegalStateException - if called outside the scope of a request
See Also:
PathSegment

getPathSegments

java.util.List<PathSegment> getPathSegments(boolean decode)
Get the path of the current request relative to the base URI as a list of PathSegment. This method is useful when the path needs to be parsed, particularly when matrix parameters may be present in the path.

Parameters:
decode - controls whether sequences of escaped octets are decoded (true) or not (false).
Returns:
an unmodifiable list of PathSegment. The matrix parameter map of each path segment is also unmodifiable.
Throws:
java.lang.IllegalStateException - if called outside the scope of a request
See Also:
PathSegment

getRequestUri

java.net.URI getRequestUri()
Get the absolute request URI. This includes query parameters and any supplied fragment.

Returns:
the absolute request URI
Throws:
java.lang.IllegalStateException - if called outside the scope of a request

getRequestUriBuilder

UriBuilder getRequestUriBuilder()
Get the absolute request URI in the form of a UriBuilder.

Returns:
a UriBuilder initialized with the absolute request URI
Throws:
java.lang.IllegalStateException - if called outside the scope of a request

getAbsolutePath

java.net.URI getAbsolutePath()
Get the absolute path of the request. This includes everything preceding the path (host, port etc) but excludes query parameters and fragment. This is a shortcut for uriInfo.getBase().resolve(uriInfo.getPath()).

Returns:
the absolute path of the request
Throws:
java.lang.IllegalStateException - if called outside the scope of a request

getAbsolutePathBuilder

UriBuilder getAbsolutePathBuilder()
Get the absolute path of the request in the form of a UriBuilder. This includes everything preceding the path (host, port etc) but excludes query parameters and fragment.

Returns:
a UriBuilder initialized with the absolute path of the request
Throws:
java.lang.IllegalStateException - if called outside the scope of a request

getBaseUri

java.net.URI getBaseUri()
Get the base URI of the application. URIs of resource beans are all relative to this base URI.

Returns:
the base URI of the application

getBaseUriBuilder

UriBuilder getBaseUriBuilder()
Get the base URI of the application in the form of a UriBuilder.

Returns:
a UriBuilder initialized with the base URI of the application.

getTemplateParameters

MultivaluedMap<java.lang.String,java.lang.String> getTemplateParameters()
Get the values of any embedded URI template parameters. All sequences of escaped octets are decoded, equivalent to getTemplateParameters(true).

Returns:
an unmodifiable map of parameter names and values
Throws:
java.lang.IllegalStateException - if called outside the scope of a request
See Also:
Path

getTemplateParameters

MultivaluedMap<java.lang.String,java.lang.String> getTemplateParameters(boolean decode)
Get the values of any embedded URI template parameters.

Parameters:
decode - controls whether sequences of escaped octets are decoded (true) or not (false).
Returns:
an unmodifiable map of parameter names and values
Throws:
java.lang.IllegalStateException - if called outside the scope of a request
See Also:
Path

getQueryParameters

MultivaluedMap<java.lang.String,java.lang.String> getQueryParameters()
Get the URI query parameters of the current request. All sequences of escaped octets are decoded, equivalent to getQueryParameters(true).

Returns:
an unmodifiable map of query parameter names and values
Throws:
java.lang.IllegalStateException - if called outside the scope of a request

getQueryParameters

MultivaluedMap<java.lang.String,java.lang.String> getQueryParameters(boolean decode)
Get the URI query parameters of the current request.

Parameters:
decode - controls whether sequences of escaped octets are decoded (true) or not (false).
Returns:
an unmodifiable map of query parameter names and values
Throws:
java.lang.IllegalStateException - if called outside the scope of a request