Package org.apache.catalina.core

## Class ApplicationPushBuilder

- java.lang.Object
- - org.apache.catalina.core.ApplicationPushBuilder

- All Implemented Interfaces:
    `PushBuilder`

      public class ApplicationPushBuilder
      extends java.lang.Object
      implements PushBuilder

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ApplicationPushBuilder​(Request catalinaRequest, HttpServletRequest request)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `PushBuilder` | `addHeader​(java.lang.String name, java.lang.String value)` | Adds an HTTP header to the request.
    `java.lang.String` | `getHeader​(java.lang.String name)` | Obtain a value for the given HTTP header.
    `java.util.Set<java.lang.String>` | `getHeaderNames()` |
    `java.lang.String` | `getMethod()` | Obtain the name of the HTTP method that will be used for push requests generated by future calls to `push()`.
    `java.lang.String` | `getPath()` | Obtain the path that will be used for the push request that will be generated by the next call to `push()`.
    `java.lang.String` | `getQueryString()` | Obtain the query string that will be used for push requests generated by future calls to `push()`.
    `java.lang.String` | `getSessionId()` | Obtain the session ID that will be used for push requests generated by future calls to `push()`.
    `PushBuilder` | `method​(java.lang.String method)` | Specify the HTTP method to use for the push request.
    `PushBuilder` | `path​(java.lang.String path)` | Sets the URI path to be used for the push request.
    `void` | `push()` | Generates the push request and sends it to the client unless pushes are not available for some reason.
    `PushBuilder` | `queryString​(java.lang.String queryString)` | Specifies the query string to use in subsequent push requests generated by a call to `PushBuilder.push()`.
    `PushBuilder` | `removeHeader​(java.lang.String name)` | Removes an HTTP header from the request.
    `PushBuilder` | `sessionId​(java.lang.String sessionId)` | Specifies the session ID to use in subsequent push requests generated by a call to `PushBuilder.push()`.
    `PushBuilder` | `setHeader​(java.lang.String name, java.lang.String value)` | Sets an HTTP header on the request.

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

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

- - ### Constructor Detail

    - #### ApplicationPushBuilder

          public ApplicationPushBuilder​(Request catalinaRequest,
                                        HttpServletRequest request)

  - ### Method Detail

    - #### path

          public PushBuilder path​(java.lang.String path)

      Description copied from interface: `jakarta.servlet.http.PushBuilder`
      Sets the URI path to be used for the push request. This must be called before every call to `PushBuilder.push()`. If the path includes a query string, the query string will be appended to the existing query string (if any) and no de-duplication will occur.
      Specified by:
        `path` in interface `PushBuilder`
      Parameters:
        `path` - Paths beginning with '/' are treated as absolute paths. All other paths are treated as relative to the context path of the request used to create this builder instance. The path may include a query string.
      Returns:
        This builder instance

    - #### getPath

          public java.lang.String getPath()

      Description copied from interface: `jakarta.servlet.http.PushBuilder`
      Obtain the path that will be used for the push request that will be generated by the next call to `push()`.
      Specified by:
        `getPath` in interface `PushBuilder`
      Returns:
        The path value that will be associated with the next push request

    - #### method

          public PushBuilder method​(java.lang.String method)

      Description copied from interface: `jakarta.servlet.http.PushBuilder`
      Specify the HTTP method to use for the push request.
      Specified by:
        `method` in interface `PushBuilder`
      Parameters:
        `method` - The method to use for the push request
      Returns:
        This builder instance

    - #### getMethod

          public java.lang.String getMethod()

      Description copied from interface: `jakarta.servlet.http.PushBuilder`
      Obtain the name of the HTTP method that will be used for push requests generated by future calls to `push()`.
      Specified by:
        `getMethod` in interface `PushBuilder`
      Returns:
        The HTTP method to be used for future push requests

    - #### queryString

          public PushBuilder queryString​(java.lang.String queryString)

      Description copied from interface: `jakarta.servlet.http.PushBuilder`
      Specifies the query string to use in subsequent push requests generated by a call to `PushBuilder.push()`. This will be appended to any query string specified in the call to `PushBuilder.path(String)`.
      Specified by:
        `queryString` in interface `PushBuilder`
      Parameters:
        `queryString` - The query string to use to generate push requests
      Returns:
        This builder instance

    - #### getQueryString

          public java.lang.String getQueryString()

      Description copied from interface: `jakarta.servlet.http.PushBuilder`
      Obtain the query string that will be used for push requests generated by future calls to `push()`.
      Specified by:
        `getQueryString` in interface `PushBuilder`
      Returns:
        The query string that will be appended to push requests.

    - #### sessionId

          public PushBuilder sessionId​(java.lang.String sessionId)

      Description copied from interface: `jakarta.servlet.http.PushBuilder`
      Specifies the session ID to use in subsequent push requests generated by a call to `PushBuilder.push()`. The session ID will be presented the same way as it is on the original request (cookie or URL parameter). The default is determined in the following order:
      - the requested session ID for the originating request
      - the session ID generated in the originated request
      - `null`
      Specified by:
        `sessionId` in interface `PushBuilder`
      Parameters:
        `sessionId` - The session ID to use to generate push requests
      Returns:
        This builder instance

    - #### getSessionId

          public java.lang.String getSessionId()

      Description copied from interface: `jakarta.servlet.http.PushBuilder`
      Obtain the session ID that will be used for push requests generated by future calls to `push()`.
      Specified by:
        `getSessionId` in interface `PushBuilder`
      Returns:
        The session that will be used for push requests.

    - #### addHeader

          public PushBuilder addHeader​(java.lang.String name,
                                       java.lang.String value)

      Description copied from interface: `jakarta.servlet.http.PushBuilder`
      Adds an HTTP header to the request.
      Specified by:
        `addHeader` in interface `PushBuilder`
      Parameters:
        `name` - The name of the header to add
        `value` - The value of the header to add
      Returns:
        This builder instance

    - #### setHeader

          public PushBuilder setHeader​(java.lang.String name,
                                       java.lang.String value)

      Description copied from interface: `jakarta.servlet.http.PushBuilder`
      Sets an HTTP header on the request. Any existing headers of the same name are first remove.
      Specified by:
        `setHeader` in interface `PushBuilder`
      Parameters:
        `name` - The name of the header to set
        `value` - The value of the header to set
      Returns:
        This builder instance

    - #### removeHeader

          public PushBuilder removeHeader​(java.lang.String name)

      Description copied from interface: `jakarta.servlet.http.PushBuilder`
      Removes an HTTP header from the request.
      Specified by:
        `removeHeader` in interface `PushBuilder`
      Parameters:
        `name` - The name of the header to remove
      Returns:
        This builder instance

    - #### getHeaderNames

          public java.util.Set<java.lang.String> getHeaderNames()

      Specified by:
        `getHeaderNames` in interface `PushBuilder`
      Returns:
        The current set of names of HTTP headers to be used the next time `push()` is called.

    - #### getHeader

          public java.lang.String getHeader​(java.lang.String name)

      Description copied from interface: `jakarta.servlet.http.PushBuilder`
      Obtain a value for the given HTTP header. TODO Servlet 4.0 Clarify the behaviour of this method
      Specified by:
        `getHeader` in interface `PushBuilder`
      Parameters:
        `name` - The name of the header whose value is to be returned
      Returns:
        The value of the given header. If multiple values are defined then any may be returned

    - #### push

          public void push()

      Description copied from interface: `jakarta.servlet.http.PushBuilder`
      Generates the push request and sends it to the client unless pushes are not available for some reason. After calling this method the following fields are set to `null`:
      - `path`
      - conditional request headers (`if-none-match` and `if-modified-since`)
      Specified by:
        `push` in interface `PushBuilder`