Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * The contents of this file are subject to the terms
   * of the Common Development and Distribution License
   * (the "License").  You may not use this file except
   * in compliance with the License.
   * 
   * You can obtain a copy of the license at
   * http://www.opensource.org/licenses/cddl1.php
   * See the License for the specific language governing
  * permissions and limitations under the License.
  */
 
 /*
  * UriInfo.java
  *
  * Created on April 13, 2007, 2:55 PM
  *
  */
 
 package javax.ws.rs.core;
 
 import java.net.URI;
 import java.util.List;

An injectable interface that provides access to application and request URI information. Relative URIs are relative to the base URI of the application, see getBaseUri().

All methods throw java.lang.IllegalStateException if called outside the scope of a request (e.g. from a provider constructor).

See also:
Context
 
 public interface UriInfo {
    
    
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
 
     public String getPath();
    
    
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
 
     public String getPath(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. All sequences of escaped octets in path segments and matrix parameter values 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
Matrix URIs
 
     public List<PathSegmentgetPathSegments();
    
    
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 in path segments and matrix parameter values 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
Matrix URIs
 
     public List<PathSegmentgetPathSegments(boolean decode);
    
    
Get the absolute request URI including any query parameters.

Returns:
the absolute request URI
Throws:
java.lang.IllegalStateException if called outside the scope of a request
 
     public URI getRequestUri();
    
    
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
 
    public UriBuilder getRequestUriBuilder();
    
    
Get the absolute path of the request. This includes everything preceding the path (host, port etc) but excludes query parameters. 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
    public URI getAbsolutePath();
    
    
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.

Returns:
a UriBuilder initialized with the absolute path of the request
Throws:
java.lang.IllegalStateException if called outside the scope of a request
    public UriBuilder getAbsolutePathBuilder();

    
Get the base URI of the application. URIs of root resource classes are all relative to this base URI.

Returns:
the base URI of the application
    public URI getBaseUri();
    
    
Get the base URI of the application in the form of a UriBuilder.

Returns:
a UriBuilder initialized with the base URI of the application.
    public UriBuilder getBaseUriBuilder();
    
    
Get the values of any embedded URI template parameters. All sequences of escaped octets are decoded, equivalent to getPathParameters(true).

Returns:
an unmodifiable map of parameter names and values
Throws:
java.lang.IllegalStateException if called outside the scope of a request
See also:
javax.ws.rs.Path
javax.ws.rs.PathParam
    public MultivaluedMap<StringStringgetPathParameters();
    
    
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:
javax.ws.rs.Path
javax.ws.rs.PathParam
    public MultivaluedMap<StringStringgetPathParameters(boolean decode);
    
    
Get the URI query parameters of the current request. The map keys are the names of the query parameters with any escaped characters decoded. All sequences of escaped octets in parameter values 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
    public MultivaluedMap<StringStringgetQueryParameters();
    
    
Get the URI query parameters of the current request. The map keys are the names of the query parameters with any escaped characters decoded.

Parameters:
decode controls whether sequences of escaped octets in parameter values 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
    public MultivaluedMap<StringStringgetQueryParameters(boolean decode);
    
    
Get a read-only list of URIs for matched resources. Each entry is a relative URI that matched a resource class, a sub-resource method or a sub-resource locator. All sequences of escaped octets are decoded, equivalent to getMatchedURIs(true). Entries do not include query parameters but do include matrix parameters if present in the request URI. Entries are ordered in reverse request URI matching order, with the current resource URI first. E.g. given the following resource classes:
@Path("foo")
public class FooResource {
  @GET
  public String getFoo() {...}
 
  @Path("bar")
  public BarResource getBarResource() {...}
}
 
public class BarResource {
  @GET
  public String getBar() {...}
}
 

The values returned by this method based on request uri and where the method is called from are:

RequestCalled fromValue(s)
GET /fooFooResource.getFoofoo
GET /foo/barFooResource.getBarResourcefoo/bar, foo
GET /foo/barBarResource.getBarfoo/bar, foo

Returns:
a read-only list of URI paths for matched resources.
    public List<StringgetMatchedURIs();
    
    
Get a read-only list of URIs for matched resources. Each entry is a relative URI that matched a resource class, a sub-resource method or a sub-resource locator. Entries do not include query parameters but do include matrix parameters if present in the request URI. Entries are ordered in reverse request URI matching order, with the current resource URI first. See getMatchedURIs() for an example.

Parameters:
decode controls whether sequences of escaped octets are decoded (true) or not (false).
Returns:
a read-only list of URI paths for matched resources.
    public List<StringgetMatchedURIs(boolean decode);
    
    
Get a read-only list of the currently matched resource class instances. Each entry is a resource class instance that matched the request URI either directly or via a sub-resource method or a sub-resource locator. Entries are ordered according to reverse request URI matching order, with the current resource first. E.g. given the following resource classes:
@Path("foo")
public class FooResource {
  @GET
  public String getFoo() {...}
 
  @Path("bar")
  public BarResource getBarResource() {...}
}
 
public class BarResource {
  @GET
  public String getBar() {...}
}
 

The values returned by this method based on request uri and where the method is called from are:

RequestCalled fromValue(s)
GET /fooFooResource.getFooFooResource
GET /foo/barFooResource.getBarResourceFooResource
GET /foo/barBarResource.getBarBarResource, FooResource

Returns:
a read-only list of matched resource class instances.
    public List<ObjectgetMatchedResources();
New to GrepCode? Check out our FAQ X