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

  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 Details

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

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