Package org.apache.catalina.util

## Class CharsetMapper

- java.lang.Object
- - org.apache.catalina.util.CharsetMapper

-     public class CharsetMapper
      extends java.lang.Object

  Utility class that attempts to map from a Locale to the corresponding character set to be used for interpreting input text (or generating output text) when the Content-Type header does not include one. You can customize the behavior of this class by modifying the mapping data it loads, or by subclassing it (to change the algorithm) and then using your own version for a particular web application.
  Author:
    Craig R. McClanahan

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static java.lang.String` | `DEFAULT_RESOURCE` | Default properties resource name.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `CharsetMapper()` | Construct a new CharsetMapper using the default properties resource.
    `CharsetMapper​(java.lang.String name)` | Construct a new CharsetMapper using the specified properties resource.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addCharsetMappingFromDeploymentDescriptor​(java.lang.String locale, java.lang.String charset)` | The deployment descriptor can have a locale-encoding-mapping-list element which describes the webapp's desired mapping from locale to charset.
    `java.lang.String` | `getCharset​(java.util.Locale locale)` | Calculate the name of a character set to be assumed, given the specified Locale and the absence of a character set specified as part of the content type header.

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### DEFAULT_RESOURCE

          public static final java.lang.String DEFAULT_RESOURCE

      Default properties resource name.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### CharsetMapper

          public CharsetMapper()

      Construct a new CharsetMapper using the default properties resource.

    - #### CharsetMapper

          public CharsetMapper​(java.lang.String name)

      Construct a new CharsetMapper using the specified properties resource.
      Parameters:
        `name` - Name of a properties resource to be loaded
      Throws:
        `java.lang.IllegalArgumentException` - if the specified properties resource could not be loaded for any reason.

  - ### Method Detail

    - #### getCharset

          public java.lang.String getCharset​(java.util.Locale locale)

      Calculate the name of a character set to be assumed, given the specified Locale and the absence of a character set specified as part of the content type header.
      Parameters:
        `locale` - The locale for which to calculate a character set
      Returns:
        the charset name

    - #### addCharsetMappingFromDeploymentDescriptor

          public void addCharsetMappingFromDeploymentDescriptor​(java.lang.String locale,
                                                                java.lang.String charset)

      The deployment descriptor can have a locale-encoding-mapping-list element which describes the webapp's desired mapping from locale to charset. This method gets called when processing the web.xml file for a context
      Parameters:
        `locale` - The locale for a character set
        `charset` - The charset to be associated with the locale