Package org.apache.tiles.request

# Interface Request

All Known Subinterfaces:
  `DispatchRequest`, `RequestWrapper`

All Known Implementing Classes:
  `AbstractClientRequest`, `AbstractRequest`, `AbstractViewRequest`, `DispatchRequestWrapper`, `FreemarkerRequest`, `JspRequest`, `ServletRequest`, `VelocityRequest`

public interface Request
Encapsulation of request information.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `APPLICATION_SCOPE`
  the name of the (mandatory) "application" scope
  `static final String`
  `REQUEST_SCOPE`
  the name of the "request" context

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ApplicationContext`
  `getApplicationContext()`
  Returns the associated application context.
  `List<String>`
  `getAvailableScopes()`
  Returns all available scopes.
  `Map<String,Object>`
  `getContext(String scope)`
  Returns a context map, given the scope name.
  `Map<String,String>`
  `getHeader()`
  Return an immutable Map that maps header names to the first (or only) header value (as a String).
  `Map<String,String[]>`
  `getHeaderValues()`
  Return an immutable Map that maps header names to the set of all values specified in the request (as a String array).
  `OutputStream`
  `getOutputStream()`
  Returns an output stream to be used to write directly in the response.
  `Map<String,String>`
  `getParam()`
  Return an immutable Map that maps request parameter names to the first (or only) value (as a String).
  `Map<String,String[]>`
  `getParamValues()`
  Return an immutable Map that maps request parameter names to the set of all values (as a String array).
  `PrintWriter`
  `getPrintWriter()`
  Returns a print writer to be used to write directly in the response.
  `Locale`
  `getRequestLocale()`
  Return the preferred Locale in which the client will accept content.
  `Addable<String>`
  `getResponseHeaders()`
  Return an Addable object that can be used to write headers to the response.
  `Writer`
  `getWriter()`
  Returns a writer to be used to write directly in the response.
  `boolean`
  `isResponseCommitted()`
  Checks if the response has been committed.
  `boolean`
  `isUserInRole(String role)`
  Determine whether the specified user is in the given role.

- ## Field Details

  - ### APPLICATION_SCOPE

    static final String APPLICATION_SCOPE
    the name of the (mandatory) "application" scope
    See Also:
      - Constant Field Values

  - ### REQUEST_SCOPE

    static final String REQUEST_SCOPE
    the name of the "request" context
    See Also:
      - Constant Field Values

- ## Method Details

  - ### getHeader

    Map<String,String> getHeader()
    Return an immutable Map that maps header names to the first (or only) header value (as a String).
    Returns:
      The header map.

  - ### getHeaderValues

    Map<String,String[]> getHeaderValues()
    Return an immutable Map that maps header names to the set of all values specified in the request (as a String array). Header names must be matched in a case-insensitive manner.
    Returns:
      The header values map.

  - ### getResponseHeaders

    Addable<String> getResponseHeaders()
    Return an Addable object that can be used to write headers to the response.
    Returns:
      An Addable object.

  - ### getContext

    Map<String,Object> getContext(String scope)
    Returns a context map, given the scope name. This method always return a map for all the scope names returned by getAvailableScopes(). That map may be writable, or immutable, depending on the implementation.
    Parameters:
      `scope` - The name of the scope.
    Returns:
      The context.

  - ### getAvailableScopes

    List<String> getAvailableScopes()
    Returns all available scopes. The scopes are ordered according to their lifetime, the innermost, shorter lived scope appears first, and the outermost, longer lived scope appears last. Besides, the scopes "request" and "application" always included in the list.
    Returns:
      All the available scopes.

  - ### getApplicationContext

    ApplicationContext getApplicationContext()
    Returns the associated application context.
    Returns:
      The application context associated to this request.

  - ### getOutputStream

    OutputStream getOutputStream() throws IOException
    Returns an output stream to be used to write directly in the response.
    Returns:
      The output stream that writes in the response.
    Throws:
      `IOException` - If something goes wrong when getting the output stream.

  - ### getWriter

    Writer getWriter() throws IOException
    Returns a writer to be used to write directly in the response.
    Returns:
      The writer that writes in the response.
    Throws:
      `IOException` - If something goes wrong when getting the writer.

  - ### getPrintWriter

    PrintWriter getPrintWriter() throws IOException
    Returns a print writer to be used to write directly in the response.
    Returns:
      The print writer that writes in the response.
    Throws:
      `IOException` - If something goes wrong when getting the print writer.

  - ### isResponseCommitted

    boolean isResponseCommitted()
    Checks if the response has been committed.
    Returns:
      `true` only if the response has been committed.

  - ### getParam

    Map<String,String> getParam()
    Return an immutable Map that maps request parameter names to the first (or only) value (as a String).
    Returns:
      The parameter map.

  - ### getParamValues

    Map<String,String[]> getParamValues()
    Return an immutable Map that maps request parameter names to the set of all values (as a String array).
    Returns:
      The parameter values map.

  - ### getRequestLocale

    Locale getRequestLocale()
    Return the preferred Locale in which the client will accept content.
    Returns:
      The current request locale. It is the locale of the request object itself, and it is NOT the locale that the user wants to use. See `LocaleResolver` to implement strategies to resolve locales.

  - ### isUserInRole

    boolean isUserInRole(String role)
    Determine whether the specified user is in the given role.
    Parameters:
      `role` - the role to check against.
    Returns:
      `true` if the user is in the given role.