org.apache.coyote

## Enum ActionCode

- java.lang.Object
- - java.lang.Enum<ActionCode>
  - - org.apache.coyote.ActionCode

- All Implemented Interfaces:
    Serializable, Comparable<ActionCode>

      public enum ActionCode
      extends Enum<ActionCode>

  ActionCodes represent callbacks from the servlet container to the coyote connector. Actions are implemented by ProtocolHandler, using the ActionHook interface.
  Author:
    Remy Maucherat
  See Also:
    `ProtocolHandler`, `ActionHook`

- - ### Enum Constant Summary

    Enum Constants
    Enum Constant and Description
    `ACK`
    `ASYNC_COMPLETE` Callback for an async call to `AsyncContext.complete()`.
    `ASYNC_DISPATCH` Callback for an async call to `AsyncContext.dispatch()`.
    `ASYNC_DISPATCHED` Callback to indicate the the actual dispatch has started and that the async state needs change.
    `ASYNC_ERROR` Callback to trigger the error processing.
    `ASYNC_IS_ASYNC` Callback to determine if async processing is in progress.
    `ASYNC_IS_COMPLETING` Call back to determine if async complete is in progress.
    `ASYNC_IS_DISPATCHING` Callback to determine if async dispatch is in progress.
    `ASYNC_IS_ERROR` Callback to determine if async is in error.
    `ASYNC_IS_STARTED` Callback to determine if async dispatch is in progress.
    `ASYNC_IS_TIMINGOUT` Callback to determine if async is timing out.
    `ASYNC_POST_PROCESS` Callback to trigger post processing.
    `ASYNC_RUN` Callback for an async call to `AsyncContext.start(Runnable)`.
    `ASYNC_SETTIMEOUT` Callback for an async call to `AsyncContext.setTimeout(long)`
    `ASYNC_START` Callback for an async request.
    `ASYNC_TIMEOUT` Callback to trigger the processing of an async timeout.
    `AVAILABLE` Callback for getting the amount of available bytes.
    `CLIENT_FLUSH` A flush() operation originated by the client ( i.e. a flush() on the servlet output stream or writer, called by a servlet ).
    `CLOSE`
    `CLOSE_NOW` A serious error occurred from which it is not possible to recover safely.
    `COMMIT`
    `CONNECTION_ID` Obtain the connection identifier for the request.
    `DISABLE_SWALLOW_INPUT` Hook called if swallowing request input should be disabled.
    `DISPATCH_EXECUTE` Execute any non-blocking dispatches that have been registered via `DISPATCH_READ` or `DISPATCH_WRITE`.
    `DISPATCH_READ` Indicates that the container needs to trigger a call to onDataAvailable() for the registered non-blocking read listener.
    `DISPATCH_WRITE` Indicates that the container needs to trigger a call to onWritePossible() for the registered non-blocking write listener.
    `IS_ERROR` Has the processor been placed into the error state?
    `IS_IO_ALLOWED` The processor may have been placed into an error state and some error states do not permit any further I/O.
    `IS_PUSH_SUPPORTED` Is server push supported and allowed for the current request?
    `IS_TRAILER_FIELDS_READY` Are the request trailer fields ready to be read?
    `IS_TRAILER_FIELDS_SUPPORTED` Are HTTP trailer fields supported for the current response?
    `NB_READ_INTEREST` Indicator that Servlet is interested in being notified when data is available to be read.
    `NB_WRITE_INTEREST` Used with non-blocking writes to determine if a write is currently allowed (sets passed parameter to `true`) or not (sets passed parameter to `false`).
    `PUSH_REQUEST` Push a request on behalf of the client of the current request.
    `REQ_HOST_ADDR_ATTRIBUTE` Callback for lazy evaluation - extract the remote host address.
    `REQ_HOST_ATTRIBUTE` Callback for lazy evaluation - extract the remote host name and address.
    `REQ_LOCAL_ADDR_ATTRIBUTE` Callback for lazy evaluation - local address.
    `REQ_LOCAL_NAME_ATTRIBUTE` Callback for lazy evaluation - local address.
    `REQ_LOCALPORT_ATTRIBUTE` Callback for lazy evaluation - socket local port.
    `REQ_PEER_ADDR_ATTRIBUTE` Callback for lazy evaluation - extract the connection peer address.
    `REQ_REMOTEPORT_ATTRIBUTE` Callback for lazy evaluation - socket remote port.
    `REQ_SET_BODY_REPLAY` Callback for setting FORM auth body replay
    `REQ_SSL_ATTRIBUTE` Callback for lazy evaluation - extract the SSL-related attributes including the client certificate if present.
    `REQ_SSL_CERTIFICATE` Force a TLS re-handshake and make the resulting client certificate (if any) available as a request attribute.
    `REQUEST_BODY_FULLY_READ` Indicates if the request body has been fully read.
    `STREAM_ID` Obtain the stream identifier for the request.
    `UPGRADE` Callback to trigger the HTTP upgrade process.

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static ActionCode` | `valueOf(String name)` Returns the enum constant of this type with the specified name.
    `static ActionCode[]` | `values()` Returns an array containing the constants of this enum type, in the order they are declared.

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

      `clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

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

      `getClass, notify, notifyAll, wait, wait, wait`

- - ### Enum Constant Detail

    - #### ACK

          public static final ActionCode ACK

    - #### CLOSE

          public static final ActionCode CLOSE

    - #### COMMIT

          public static final ActionCode COMMIT

    - #### CLOSE_NOW

          public static final ActionCode CLOSE_NOW

      A serious error occurred from which it is not possible to recover safely. Further attempts to write to the response should be ignored and the connection needs to be closed as soon as possible. This can also be used to forcibly close a connection if an error occurs after the response has been committed.

    - #### CLIENT_FLUSH

          public static final ActionCode CLIENT_FLUSH

      A flush() operation originated by the client ( i.e. a flush() on the servlet output stream or writer, called by a servlet ). Argument is the Response.

    - #### IS_ERROR

          public static final ActionCode IS_ERROR

      Has the processor been placed into the error state? Note that the response may not have an appropriate error code set.

    - #### IS_IO_ALLOWED

          public static final ActionCode IS_IO_ALLOWED

      The processor may have been placed into an error state and some error states do not permit any further I/O. Is I/O currently allowed?

    - #### DISABLE_SWALLOW_INPUT

          public static final ActionCode DISABLE_SWALLOW_INPUT

      Hook called if swallowing request input should be disabled. Example: Cancel a large file upload.

    - #### REQ_HOST_ATTRIBUTE

          public static final ActionCode REQ_HOST_ATTRIBUTE

      Callback for lazy evaluation - extract the remote host name and address.

    - #### REQ_HOST_ADDR_ATTRIBUTE

          public static final ActionCode REQ_HOST_ADDR_ATTRIBUTE

      Callback for lazy evaluation - extract the remote host address.

    - #### REQ_PEER_ADDR_ATTRIBUTE

          public static final ActionCode REQ_PEER_ADDR_ATTRIBUTE

      Callback for lazy evaluation - extract the connection peer address.

    - #### REQ_SSL_ATTRIBUTE

          public static final ActionCode REQ_SSL_ATTRIBUTE

      Callback for lazy evaluation - extract the SSL-related attributes including the client certificate if present.

    - #### REQ_SSL_CERTIFICATE

          public static final ActionCode REQ_SSL_CERTIFICATE

      Force a TLS re-handshake and make the resulting client certificate (if any) available as a request attribute.

    - #### REQ_REMOTEPORT_ATTRIBUTE

          public static final ActionCode REQ_REMOTEPORT_ATTRIBUTE

      Callback for lazy evaluation - socket remote port.

    - #### REQ_LOCALPORT_ATTRIBUTE

          public static final ActionCode REQ_LOCALPORT_ATTRIBUTE

      Callback for lazy evaluation - socket local port.

    - #### REQ_LOCAL_ADDR_ATTRIBUTE

          public static final ActionCode REQ_LOCAL_ADDR_ATTRIBUTE

      Callback for lazy evaluation - local address.

    - #### REQ_LOCAL_NAME_ATTRIBUTE

          public static final ActionCode REQ_LOCAL_NAME_ATTRIBUTE

      Callback for lazy evaluation - local address.

    - #### REQ_SET_BODY_REPLAY

          public static final ActionCode REQ_SET_BODY_REPLAY

      Callback for setting FORM auth body replay

    - #### AVAILABLE

          public static final ActionCode AVAILABLE

      Callback for getting the amount of available bytes.

    - #### ASYNC_START

          public static final ActionCode ASYNC_START

      Callback for an async request.

    - #### ASYNC_DISPATCH

          public static final ActionCode ASYNC_DISPATCH

      Callback for an async call to `AsyncContext.dispatch()`.

    - #### ASYNC_DISPATCHED

          public static final ActionCode ASYNC_DISPATCHED

      Callback to indicate the the actual dispatch has started and that the async state needs change.

    - #### ASYNC_RUN

          public static final ActionCode ASYNC_RUN

      Callback for an async call to `AsyncContext.start(Runnable)`.

    - #### ASYNC_COMPLETE

          public static final ActionCode ASYNC_COMPLETE

      Callback for an async call to `AsyncContext.complete()`.

    - #### ASYNC_TIMEOUT

          public static final ActionCode ASYNC_TIMEOUT

      Callback to trigger the processing of an async timeout.

    - #### ASYNC_ERROR

          public static final ActionCode ASYNC_ERROR

      Callback to trigger the error processing.

    - #### ASYNC_SETTIMEOUT

          public static final ActionCode ASYNC_SETTIMEOUT

      Callback for an async call to `AsyncContext.setTimeout(long)`

    - #### ASYNC_IS_ASYNC

          public static final ActionCode ASYNC_IS_ASYNC

      Callback to determine if async processing is in progress.

    - #### ASYNC_IS_STARTED

          public static final ActionCode ASYNC_IS_STARTED

      Callback to determine if async dispatch is in progress.

    - #### ASYNC_IS_COMPLETING

          public static final ActionCode ASYNC_IS_COMPLETING

      Call back to determine if async complete is in progress.

    - #### ASYNC_IS_DISPATCHING

          public static final ActionCode ASYNC_IS_DISPATCHING

      Callback to determine if async dispatch is in progress.

    - #### ASYNC_IS_TIMINGOUT

          public static final ActionCode ASYNC_IS_TIMINGOUT

      Callback to determine if async is timing out.

    - #### ASYNC_IS_ERROR

          public static final ActionCode ASYNC_IS_ERROR

      Callback to determine if async is in error.

    - #### ASYNC_POST_PROCESS

          public static final ActionCode ASYNC_POST_PROCESS

      Callback to trigger post processing. Typically only used during error handling to trigger essential processing that otherwise would be skipped.

    - #### UPGRADE

          public static final ActionCode UPGRADE

      Callback to trigger the HTTP upgrade process.

    - #### NB_READ_INTEREST

          public static final ActionCode NB_READ_INTEREST

      Indicator that Servlet is interested in being notified when data is available to be read.

    - #### NB_WRITE_INTEREST

          public static final ActionCode NB_WRITE_INTEREST

      Used with non-blocking writes to determine if a write is currently allowed (sets passed parameter to `true`) or not (sets passed parameter to `false`). If a write is not allowed then callback will be triggered at some future point when write becomes possible again.

    - #### REQUEST_BODY_FULLY_READ

          public static final ActionCode REQUEST_BODY_FULLY_READ

      Indicates if the request body has been fully read.

    - #### DISPATCH_READ

          public static final ActionCode DISPATCH_READ

      Indicates that the container needs to trigger a call to onDataAvailable() for the registered non-blocking read listener.

    - #### DISPATCH_WRITE

          public static final ActionCode DISPATCH_WRITE

      Indicates that the container needs to trigger a call to onWritePossible() for the registered non-blocking write listener.

    - #### DISPATCH_EXECUTE

          public static final ActionCode DISPATCH_EXECUTE

      Execute any non-blocking dispatches that have been registered via `DISPATCH_READ` or `DISPATCH_WRITE`. Typically required when the non-blocking listeners are configured on a thread where the processing wasn't triggered by a read or write event on the socket.

    - #### IS_PUSH_SUPPORTED

          public static final ActionCode IS_PUSH_SUPPORTED

      Is server push supported and allowed for the current request?

    - #### PUSH_REQUEST

          public static final ActionCode PUSH_REQUEST

      Push a request on behalf of the client of the current request.

    - #### IS_TRAILER_FIELDS_READY

          public static final ActionCode IS_TRAILER_FIELDS_READY

      Are the request trailer fields ready to be read? Note that this returns true if it is known that request trailer fields are not supported so an empty collection of trailers can then be read.

    - #### IS_TRAILER_FIELDS_SUPPORTED

          public static final ActionCode IS_TRAILER_FIELDS_SUPPORTED

      Are HTTP trailer fields supported for the current response? Note that once an HTTP/1.1 response has been committed, it will no longer support trailer fields.

    - #### CONNECTION_ID

          public static final ActionCode CONNECTION_ID

      Obtain the connection identifier for the request. Used with multiplexing protocols such as HTTP/2.

    - #### STREAM_ID

          public static final ActionCode STREAM_ID

      Obtain the stream identifier for the request. Used with multiplexing protocols such as HTTP/2.

  - ### Method Detail

    - #### values

          public static ActionCode[] values()

      Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

          for (ActionCode c : ActionCode.values())
              System.out.println(c);

      Returns:
        an array containing the constants of this enum type, in the order they are declared

    - #### valueOf

          public static ActionCode valueOf(String name)

      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
        `name` - the name of the enum constant to be returned.
      Returns:
        the enum constant with the specified name
      Throws:
        `IllegalArgumentException` - if this enum type has no constant with the specified name
        `NullPointerException` - if the argument is null

Copyright © 2000-2022 Apache Software Foundation. All Rights Reserved.