org.apache.catalina.core

## Class AsyncContextImpl

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

All Implemented Interfaces:
  AsyncContext, AsyncContextCallback

    public class AsyncContextImpl
    extends Object
    implements AsyncContext, AsyncContextCallback

Author:
  fhanik

### Field Summary

Fields
`protected static StringManager` `sm`

### Fields inherited from interface javax.servlet.AsyncContext

`ASYNC_CONTEXT_PATH, ASYNC_PATH_INFO, ASYNC_QUERY_STRING, ASYNC_REQUEST_URI, ASYNC_SERVLET_PATH`

### Constructor Summary

Constructors
Constructor and Description
`AsyncContextImpl(Request request)`

### Method Summary

Methods
`void` `addListener(AsyncListener listener)`
`void` `addListener(AsyncListener listener, ServletRequest servletRequest, ServletResponse servletResponse)`
`void` `complete()`
`<T extends AsyncListener> T` `createListener(Class<T> clazz)`
`void` `dispatch()`
`void` `dispatch(ServletContext context, String path)`
`void` `dispatch(String path)`
`protected void` `doInternalDispatch()`
`void` `fireOnComplete()`
`ServletRequest` `getRequest()`
`ServletResponse` `getResponse()`
`long` `getTimeout()` Get timeout in milliseconds. 0 or less indicates no timeout.
`boolean` `hasOriginalRequestAndResponse()`
`boolean` `isStarted()`
`void` `recycle()`
`void` `setErrorState(Throwable t, boolean fireOnError)`
`void` `setStarted(Context context, ServletRequest request, ServletResponse response, boolean originalRequestResponse)`
`void` `setTimeout(long timeout)` Set timeout in milliseconds. 0 or less indicates no timeout.
`void` `start(Runnable run)`
`boolean` `timeout()`

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

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

### Field Detail

#### sm

    protected static final StringManager sm

### Constructor Detail

#### AsyncContextImpl

    public AsyncContextImpl(Request request)

### Method Detail

#### complete

    public void complete()

Specified by:
  `complete` in interface `AsyncContext`

#### fireOnComplete

    public void fireOnComplete()

Specified by:
  `fireOnComplete` in interface `AsyncContextCallback`

#### timeout

    public boolean timeout()

#### dispatch

    public void dispatch()

Specified by:
  `dispatch` in interface `AsyncContext`

#### dispatch

    public void dispatch(String path)

Specified by:
  `dispatch` in interface `AsyncContext`

#### dispatch

    public void dispatch(ServletContext context,
                String path)

Specified by:
  `dispatch` in interface `AsyncContext`

#### getRequest

    public ServletRequest getRequest()

Specified by:
  `getRequest` in interface `AsyncContext`

#### getResponse

    public ServletResponse getResponse()

Specified by:
  `getResponse` in interface `AsyncContext`

#### start

    public void start(Runnable run)

Specified by:
  `start` in interface `AsyncContext`

#### addListener

    public void addListener(AsyncListener listener)

Specified by:
  `addListener` in interface `AsyncContext`

#### addListener

    public void addListener(AsyncListener listener,
                   ServletRequest servletRequest,
                   ServletResponse servletResponse)

Specified by:
  `addListener` in interface `AsyncContext`

#### createListener

    public <T extends AsyncListener> T createListener(Class<T> clazz)
                                           throws ServletException

Specified by:
  `createListener` in interface `AsyncContext`
Throws:
  `ServletException`

#### recycle

    public void recycle()

#### isStarted

    public boolean isStarted()

#### setStarted

    public void setStarted(Context context,
                  ServletRequest request,
                  ServletResponse response,
                  boolean originalRequestResponse)

#### hasOriginalRequestAndResponse

    public boolean hasOriginalRequestAndResponse()

Specified by:
  `hasOriginalRequestAndResponse` in interface `AsyncContext`

#### doInternalDispatch

    protected void doInternalDispatch()
                               throws ServletException,
                                      IOException

Throws:
  `ServletException`
  `IOException`

#### getTimeout

    public long getTimeout()

Description copied from interface: `javax.servlet.AsyncContext`
Get timeout in milliseconds. 0 or less indicates no timeout.

Specified by:
  `getTimeout` in interface `AsyncContext`

#### setTimeout

    public void setTimeout(long timeout)

Description copied from interface: `javax.servlet.AsyncContext`
Set timeout in milliseconds. 0 or less indicates no timeout.

Specified by:
  `setTimeout` in interface `AsyncContext`

#### setErrorState

    public void setErrorState(Throwable t,
                     boolean fireOnError)