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

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 Details

### 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`