Package org.apache.tapestry5.http

## Class ContentType

- java.lang.Object
- - org.apache.tapestry5.http.ContentType

-     public final class ContentType
      extends Object

  Represents an HTTP content type. Allows to set various elements like the MIME type, the character set, and other parameters. This is similar to a number of other implementations of the same concept in JAF, etc. We have created this simple implementation to avoid including the whole libraries. As of Tapestry 5.4, this is now an immutable data type.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ContentType​(String contentType)` | Creates a new content type from the argument.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `equals​(Object o)` | Returns true only if the other object is another instance of ContentType, and has the same baseType, subType and set of parameters.
    `String` | `getBaseType()` |
    `String` | `getCharset()` |
    `String` | `getMimeType()` |
    `String` | `getParameter​(String key)` |
    `List<String>` | `getParameterNames()` |
    `String` | `getSubType()` |
    `int` | `hashCode()` |
    `boolean` | `hasParameters()` |
    `String` | `toString()` |
    `ContentType` | `withCharset​(String charset)` |
    `ContentType` | `withParameter​(String key, String value)` | Returns a new content type with the indicated parameter.

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

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### ContentType

          public ContentType​(String contentType)

      Creates a new content type from the argument. The format of the argument has to be basetype/subtype(;key=value)*
      Parameters:
        `contentType` - the content type that needs to be represented

  - ### Method Detail

    - #### equals

          public boolean equals​(Object o)

      Returns true only if the other object is another instance of ContentType, and has the same baseType, subType and set of parameters.
      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### getBaseType

          public String getBaseType()

      Returns:
        the base type of the content type

    - #### getSubType

          public String getSubType()

      Returns:
        the sub-type of the content type

    - #### getMimeType

          public String getMimeType()

      Returns:
        the MIME type of the content type (the base type and the subtype, seperated with a '/').

    - #### getParameterNames

          public List<String> getParameterNames()

      Returns:
        the list of names of parameters in this content type, in alphabetical order.

    - #### getCharset

          public String getCharset()

      Returns:
        the character set (the "charset" parameter) or null.

    - #### getParameter

          public String getParameter​(String key)

      Parameters:
        `key` - the name of the content type parameter
      Returns:
        the value of the content type parameter

    - #### withParameter

          public ContentType withParameter​(String key,
                                           String value)

      Returns a new content type with the indicated parameter.
      Since:
        5.4

    - #### withCharset

          public ContentType withCharset​(String charset)

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`
      Returns:
        the string representation of this content type.

    - #### hasParameters

          public boolean hasParameters()

      Returns:
        true if the content type includes parameters (such as 'charset').
      Since:
        5.4