org.apache.tomcat.util.http.mapper

## Class Mapper

- java.lang.Object
- - org.apache.tomcat.util.http.mapper.Mapper

    public final class Mapper
    extends Object

Mapper, which implements the servlet API mapping rules (which are derived from the HTTP rules).

Author:
  Remy Maucherat

### Nested Class Summary

Nested Classes
`protected static class` `Mapper.Context`
`protected static class` `Mapper.ContextList`
`protected static class` `Mapper.ContextVersion`
`protected static class` `Mapper.Host`
`protected static class` `Mapper.MapElement`
`protected static class` `Mapper.Wrapper`

### Field Summary

Fields
`protected Mapper.ContextVersion` `context` Context associated with this wrapper, used for wrapper mapping.
`protected String` `defaultHostName` Default host name.
`protected Mapper.Host[]` `hosts` Array containing the virtual hosts definitions.
`protected static StringManager` `sm`

### Constructor Summary

Constructors
Constructor and Description
`Mapper()`

### Method Summary

Methods
`void` `addContextVersion(String hostName, Object host, String path, String version, Object context, String[] welcomeResources, Context resources)` Add a new Context to an existing Host.
`void` `addHost(String name, String[] aliases, Object host)` Add a new host to the mapper.
`void` `addHostAlias(String name, String alias)` Add an alias to an existing host.
`void` `addWelcomeFile(String hostName, String contextPath, String version, String welcomeFile)` Add a welcome file to the given context.
`protected void` `addWrapper(Mapper.ContextVersion context, String path, Object wrapper, boolean jspWildCard, boolean resourceOnly)` Adds a wrapper to the given context.
`void` `addWrapper(String path, Object wrapper, boolean jspWildCard, boolean resourceOnly)`
`void` `addWrapper(String hostName, String contextPath, String version, String path, Object wrapper, boolean jspWildCard, boolean resourceOnly)`
`void` `clearWelcomeFiles(String hostName, String contextPath, String version)` Clear the welcome files for the given context.
`void` `map(MessageBytes uri, MappingData mappingData)` Map the specified URI relative to the context, mutating the given mapping data.
`void` `map(MessageBytes host, MessageBytes uri, String version, MappingData mappingData)` Map the specified host name and URI, mutating the given mapping data.
`void` `removeContextVersion(String hostName, String path, String version)` Remove a context from an existing host.
`void` `removeHost(String name)` Remove a host from the mapper.
`void` `removeHostAlias(String alias)` Remove a host alias
`void` `removeWelcomeFile(String hostName, String contextPath, String version, String welcomeFile)` Remove a welcome file from the given context.
`protected void` `removeWrapper(Mapper.ContextVersion context, String path)`
`void` `removeWrapper(String path)` Remove a wrapper from the context associated with this wrapper.
`void` `removeWrapper(String hostName, String contextPath, String version, String path)` Remove a wrapper from an existing context.
`void` `setContext(String path, String[] welcomeResources, Context resources)` Set context, used for wrapper mapping (request dispatcher).
`void` `setDefaultHostName(String defaultHostName)` Set default host.

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

#### hosts

    protected Mapper.Host[] hosts

Array containing the virtual hosts definitions.

#### defaultHostName

    protected String defaultHostName

Default host name.

#### context

    protected Mapper.ContextVersion context

Context associated with this wrapper, used for wrapper mapping.

### Constructor Detail

#### Mapper

    public Mapper()

### Method Detail

#### setDefaultHostName

    public void setDefaultHostName(String defaultHostName)

Set default host.

Parameters:
  `defaultHostName` - Default host name

#### addHost

    public void addHost(String name,
               String[] aliases,
               Object host)

Add a new host to the mapper.

Parameters:
  `name` - Virtual host name
  `host` - Host object

#### removeHost

    public void removeHost(String name)

Remove a host from the mapper.

Parameters:
  `name` - Virtual host name

#### addHostAlias

    public void addHostAlias(String name,
                    String alias)

Add an alias to an existing host.

Parameters:
  `name` - The name of the host
  `alias` - The alias to add

#### removeHostAlias

    public void removeHostAlias(String alias)

Remove a host alias

Parameters:
  `alias` - The alias to remove

#### setContext

    public void setContext(String path,
                  String[] welcomeResources,
                  Context resources)

Set context, used for wrapper mapping (request dispatcher).

Parameters:
  `welcomeResources` - Welcome files defined for this context
  `resources` - Static resources of the context

#### addContextVersion

    public void addContextVersion(String hostName,
                         Object host,
                         String path,
                         String version,
                         Object context,
                         String[] welcomeResources,
                         Context resources)

Add a new Context to an existing Host.

Parameters:
  `hostName` - Virtual host name this context belongs to
  `host` - Host object
  `path` - Context path
  `version` - Context version
  `context` - Context object
  `welcomeResources` - Welcome files defined for this context
  `resources` - Static resources of the context

#### removeContextVersion

    public void removeContextVersion(String hostName,
                            String path,
                            String version)

Remove a context from an existing host.

Parameters:
  `hostName` - Virtual host name this context belongs to
  `path` - Context path
  `version` - Context version

#### addWrapper

    public void addWrapper(String hostName,
                  String contextPath,
                  String version,
                  String path,
                  Object wrapper,
                  boolean jspWildCard,
                  boolean resourceOnly)

#### addWrapper

    public void addWrapper(String path,
                  Object wrapper,
                  boolean jspWildCard,
                  boolean resourceOnly)

#### addWrapper

    protected void addWrapper(Mapper.ContextVersion context,
                  String path,
                  Object wrapper,
                  boolean jspWildCard,
                  boolean resourceOnly)

Adds a wrapper to the given context.

Parameters:
  `context` - The context to which to add the wrapper
  `path` - Wrapper mapping
  `wrapper` - The Wrapper object
  `jspWildCard` - true if the wrapper corresponds to the JspServlet
  `resourceOnly` - true if this wrapper always expects a physical resource to be present (such as a JSP) and the mapping path contains a wildcard; false otherwise

#### removeWrapper

    public void removeWrapper(String path)

Remove a wrapper from the context associated with this wrapper.

Parameters:
  `path` - Wrapper mapping

#### removeWrapper

    public void removeWrapper(String hostName,
                     String contextPath,
                     String version,
                     String path)

Remove a wrapper from an existing context.

Parameters:
  `hostName` - Virtual host name this wrapper belongs to
  `contextPath` - Context path this wrapper belongs to
  `path` - Wrapper mapping

#### removeWrapper

    protected void removeWrapper(Mapper.ContextVersion context,
                     String path)

#### addWelcomeFile

    public void addWelcomeFile(String hostName,
                      String contextPath,
                      String version,
                      String welcomeFile)

Add a welcome file to the given context.

Parameters:
  `hostName` -
  `contextPath` -
  `welcomeFile` -

#### removeWelcomeFile

    public void removeWelcomeFile(String hostName,
                         String contextPath,
                         String version,
                         String welcomeFile)

Remove a welcome file from the given context.

Parameters:
  `hostName` -
  `contextPath` -
  `welcomeFile` -

#### clearWelcomeFiles

    public void clearWelcomeFiles(String hostName,
                         String contextPath,
                         String version)

Clear the welcome files for the given context.

Parameters:
  `hostName` -
  `contextPath` -

#### map

    public void map(MessageBytes host,
           MessageBytes uri,
           String version,
           MappingData mappingData)
             throws Exception

Map the specified host name and URI, mutating the given mapping data.

Parameters:
  `host` - Virtual host name
  `uri` - URI
  `mappingData` - This structure will contain the result of the mapping operation
Throws:
  `Exception`

#### map

    public void map(MessageBytes uri,
           MappingData mappingData)
             throws Exception

Map the specified URI relative to the context, mutating the given mapping data.

Parameters:
  `uri` - URI
  `mappingData` - This structure will contain the result of the mapping operation
Throws:
  `Exception`