Package org.apache.catalina.core

## Class ApplicationPushBuilder

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

All Implemented Interfaces:
  `PushBuilder`

    public class ApplicationPushBuilder
    extends Object
    implements PushBuilder

### Constructor Summary

Constructors
`ApplicationPushBuilder​(Request catalinaRequest, HttpServletRequest request)`

### Method Summary

All Methods Instance Methods Concrete Methods
`PushBuilder` `addHeader​(String name, String value)` Adds an HTTP header to the request.
`String` `getHeader​(String name)` Obtain a value for the given HTTP header.
`Set<String>` `getHeaderNames()`
`String` `getMethod()` Obtain the name of the HTTP method that will be used for push requests generated by future calls to `push()`.
`String` `getPath()` Obtain the path that will be used for the push request that will be generated by the next call to `push()`.
`String` `getQueryString()` Obtain the query string that will be used for push requests generated by future calls to `push()`.
`String` `getSessionId()` Obtain the session ID that will be used for push requests generated by future calls to `push()`.
`PushBuilder` `method​(String method)` Specify the HTTP method to use for the push request.
`PushBuilder` `path​(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​(String queryString)` Specifies the query string to use in subsequent push requests generated by a call to `PushBuilder.push()`.
`PushBuilder` `removeHeader​(String name)` Removes an HTTP header from the request.
`PushBuilder` `sessionId​(String sessionId)` Specifies the session ID to use in subsequent push requests generated by a call to `PushBuilder.push()`.
`PushBuilder` `setHeader​(String name, 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​(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 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​(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 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​(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 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​(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 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​(String name,
                                 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​(String name,
                                 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​(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 Set<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 String getHeader​(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`