Package org.apache.catalina.valves.rewrite

## Interface RewriteMap

- All Known Implementing Classes:
    `InternalRewriteMap.Escape`, `InternalRewriteMap.LowerCase`, `InternalRewriteMap.Unescape`, `InternalRewriteMap.UpperCase`, `RandomizedTextRewriteMap`

      public interface RewriteMap

  Interface for user defined lookup/replacement logic that can be defined in a `rewrite.config` file by a `RewriteMap` directive. Such a map can then be used by a `RewriteRule` defined in the same file.

  An example `rewrite.config` file could look like:

       RewriteMap uc example.UpperCaseMap

       RewriteRule ^/(.*)$ ${uc:$1}

  One parameter can be optionally appended to the `RewriteMap` directive. This could be used – for example – to specify a name of a file, that contains a lookup table used by the implementation of the map.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `String` | `lookup​(String key)` | Maps a key to a replacement value. The method is free to return `null` to indicate, that the default value from the `RewriteRule` directive should be used.
    `String` | `setParameters​(String params)` | Optional parameter that can be defined through the `RewriteMap` directive in the `rewrite.config` file.
    `default void` | `setParameters​(String... params)` | Optional parameters that can be defined through the `RewriteMap` directive in the `rewrite.config` file.

- - ### Method Detail

    - #### setParameters

          String setParameters​(String params)

      Optional parameter that can be defined through the `RewriteMap` directive in the `rewrite.config` file.
      Parameters:
        `params` - the optional parameter
      Returns:
        value is currently ignored

    - #### setParameters

          default void setParameters​(String... params)

      Optional parameters that can be defined through the `RewriteMap` directive in the `rewrite.config` file.

      This method will be called, if there are more than one parameters defined.

      Parameters:
        `params` - the optional parameters

    - #### lookup

          String lookup​(String key)

      Maps a key to a replacement value.
      The method is free to return `null` to indicate, that the default value from the `RewriteRule` directive should be used.
      Parameters:
        `key` - used by the actual implementation to generate a mapped value
      Returns:
        mapped value or `null`