Package oracle.dbtools.plugin.api.servlet

## Interface FilterOrder

-     public interface FilterOrder

  The filtering pipeline consists of a number of distinct phases. Filters can indicate when and where they should be applied in the pipeline using the `Priority` annotation. Each phase of the filtering pipeline is bound to a different `Priority.ring()`. These phases are enumerated below:
  1. `STREAMING` filters are applied first and are used to manipulate the content of the request or response, for example to apply compression to responses
  2. `URL_MAPPING` filters are applied next, and are used to map the request to a particular backing store, for example to map a request to a particular schema in a particular database. This is a crucial phase as subsequent phases are dependent on this phase, for example the `AUTHENTICATION` phase often depends on this phase in order to be able to determine what database to check credentials against.
  3. `AUTHENTICATION` filters examine any credentials in the request and maps them to a `Principal` and roles.
  4. `RETARGETTING` filters examine a request and re-write the request so that it is dispatched to a different request URL. This is similar to `mod_rewrite` in Apache, requests are examined and potentially re-targeted to different dispatchers depending on values in the request URL and/or request headers.
  5. `DISPATCHING` is the final phase, where a decision is made about which servlet will service the request
  Author:
    cdivilly

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static int` | `AUTHENTICATION` | `AUTHENTICATION` filters examine any credentials in the request and maps them to a `Principal` and roles.
    `static int` | `DISPATCHING` | `DISPATCHING` is the final phase, where a decision is made about which servlet will service the request
    `static int` | `RETARGETTING` | `RETARGETTING` filters examine a request and re-write the request so that it is dispatched to a different request URL.
    `static int` | `STREAMING` | `STREAMING` filters are applied first and are used to manipulate the content of the request or response, for example to apply compression to responses.
    `static int` | `URL_MAPPING` | `URL_MAPPING` filters are applied next, and are used to map the request to a particular backing store, for example to map a request to a particular schema in a particular database.

- - ### Field Detail

    - #### STREAMING

          static final int STREAMING

      `STREAMING` filters are applied first and are used to manipulate the content of the request or response, for example to apply compression to responses.
      See Also:
        Constant Field Values

    - #### URL_MAPPING

          static final int URL_MAPPING

      `URL_MAPPING` filters are applied next, and are used to map the request to a particular backing store, for example to map a request to a particular schema in a particular database. This is a crucial phase as subsequent phases are dependent on this phase, for example the `AUTHENTICATION` phase often depends on this phase in order to be able to determine what database to check credentials against.
      See Also:
        Constant Field Values

    - #### AUTHENTICATION

          static final int AUTHENTICATION

      `AUTHENTICATION` filters examine any credentials in the request and maps them to a `Principal` and roles.
      See Also:
        Constant Field Values

    - #### RETARGETTING

          static final int RETARGETTING

      `RETARGETTING` filters examine a request and re-write the request so that it is dispatched to a different request URL. This is similar to `mod_rewrite` in Apache, requests are examined and potentially re-targeted to different dispatchers depending on values in the request URL and/or request headers.
      See Also:
        Constant Field Values

    - #### DISPATCHING

          static final int DISPATCHING

      `DISPATCHING` is the final phase, where a decision is made about which servlet will service the request
      See Also:
        Constant Field Values