org.apache.http.entity

## Class ContentType

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

All Implemented Interfaces:
  Serializable

    @Immutable
    public final class ContentType
    extends Object
    implements Serializable

Content type information consisting of a MIME type and an optional charset.

This class makes no attempts to verify validity of the MIME type. The input parameters of the `create(String, String)` method, however, may not contain characters <">, <;>, <,> reserved by the HTTP specification.

Since:
  4.2
See Also:
  Serialized Form

### Field Summary

Fields
`static ContentType` `APPLICATION_ATOM_XML`
`static ContentType` `APPLICATION_FORM_URLENCODED`
`static ContentType` `APPLICATION_JSON`
`static ContentType` `APPLICATION_OCTET_STREAM`
`static ContentType` `APPLICATION_SVG_XML`
`static ContentType` `APPLICATION_XHTML_XML`
`static ContentType` `APPLICATION_XML`
`static ContentType` `DEFAULT_BINARY`
`static ContentType` `DEFAULT_TEXT`
`static ContentType` `MULTIPART_FORM_DATA`
`static ContentType` `TEXT_HTML`
`static ContentType` `TEXT_PLAIN`
`static ContentType` `TEXT_XML`
`static ContentType` `WILDCARD`

### Method Summary

Methods
`static ContentType` `create(String mimeType)` Creates a new instance of `ContentType` without a charset.
`static ContentType` `create(String mimeType, Charset charset)` Creates a new instance of `ContentType`.
`static ContentType` `create(String mimeType, String charset)` Creates a new instance of `ContentType`.
`static ContentType` `get(HttpEntity entity)` Extracts `Content-Type` value from `HttpEntity` exactly as specified by the `Content-Type` header of the entity.
`Charset` `getCharset()`
`String` `getMimeType()`
`static ContentType` `getOrDefault(HttpEntity entity)` Extracts `Content-Type` value from `HttpEntity` or returns the default value `DEFAULT_TEXT` if not explicitly specified.
`String` `getParameter(String name)`
`static ContentType` `parse(String s)` Parses textual representation of `Content-Type` value.
`String` `toString()` Generates textual representation of this content type which can be used as the value of a `Content-Type` header.
`ContentType` `withCharset(Charset charset)` Creates a new instance with this MIME type and the given Charset.
`ContentType` `withCharset(String charset)` Creates a new instance with this MIME type and the given Charset name.

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

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

### Field Detail

#### APPLICATION_ATOM_XML

    public static final ContentType APPLICATION_ATOM_XML

#### APPLICATION_FORM_URLENCODED

    public static final ContentType APPLICATION_FORM_URLENCODED

#### APPLICATION_JSON

    public static final ContentType APPLICATION_JSON

#### APPLICATION_OCTET_STREAM

    public static final ContentType APPLICATION_OCTET_STREAM

#### APPLICATION_SVG_XML

    public static final ContentType APPLICATION_SVG_XML

#### APPLICATION_XHTML_XML

    public static final ContentType APPLICATION_XHTML_XML

#### APPLICATION_XML

    public static final ContentType APPLICATION_XML

#### MULTIPART_FORM_DATA

    public static final ContentType MULTIPART_FORM_DATA

#### TEXT_HTML

    public static final ContentType TEXT_HTML

#### TEXT_PLAIN

    public static final ContentType TEXT_PLAIN

#### TEXT_XML

    public static final ContentType TEXT_XML

#### WILDCARD

    public static final ContentType WILDCARD

#### DEFAULT_TEXT

    public static final ContentType DEFAULT_TEXT

#### DEFAULT_BINARY

    public static final ContentType DEFAULT_BINARY

### Method Detail

#### getMimeType

    public String getMimeType()

#### getCharset

    public Charset getCharset()

#### getParameter

    public String getParameter(String name)

Since:
  4.3

#### toString

    public String toString()

Generates textual representation of this content type which can be used as the value of a `Content-Type` header.

Overrides:
  `toString` in class `Object`

#### create

    public static ContentType create(String mimeType,
                     Charset charset)

Creates a new instance of `ContentType`.

Parameters:
  `mimeType` - MIME type. It may not be `null` or empty. It may not contain characters <">, <;>, <,> reserved by the HTTP specification.
  `charset` - charset.
Returns:
  content type

#### create

    public static ContentType create(String mimeType)

Creates a new instance of `ContentType` without a charset.

Parameters:
  `mimeType` - MIME type. It may not be `null` or empty. It may not contain characters <">, <;>, <,> reserved by the HTTP specification.
Returns:
  content type

#### create

    public static ContentType create(String mimeType,
                     String charset)
                              throws UnsupportedCharsetException

Creates a new instance of `ContentType`.

Parameters:
  `mimeType` - MIME type. It may not be `null` or empty. It may not contain characters <">, <;>, <,> reserved by the HTTP specification.
  `charset` - charset. It may not contain characters <">, <;>, <,> reserved by the HTTP specification. This parameter is optional.
Returns:
  content type
Throws:
  `UnsupportedCharsetException` - Thrown when the named charset is not available in this instance of the Java virtual machine

#### parse

    public static ContentType parse(String s)
                             throws ParseException,
                                    UnsupportedCharsetException

Parses textual representation of `Content-Type` value.

Parameters:
  `s` - text
Returns:
  content type
Throws:
  `ParseException` - if the given text does not represent a valid `Content-Type` value.
  `UnsupportedCharsetException` - Thrown when the named charset is not available in this instance of the Java virtual machine

#### get

    public static ContentType get(HttpEntity entity)
                           throws ParseException,
                                  UnsupportedCharsetException

Extracts `Content-Type` value from `HttpEntity` exactly as specified by the `Content-Type` header of the entity. Returns `null` if not specified.

Parameters:
  `entity` - HTTP entity
Returns:
  content type
Throws:
  `ParseException` - if the given text does not represent a valid `Content-Type` value.
  `UnsupportedCharsetException` - Thrown when the named charset is not available in this instance of the Java virtual machine

#### getOrDefault

    public static ContentType getOrDefault(HttpEntity entity)
                                    throws ParseException,
                                           UnsupportedCharsetException

Extracts `Content-Type` value from `HttpEntity` or returns the default value `DEFAULT_TEXT` if not explicitly specified.

Parameters:
  `entity` - HTTP entity
Returns:
  content type
Throws:
  `ParseException` - if the given text does not represent a valid `Content-Type` value.
  `UnsupportedCharsetException` - Thrown when the named charset is not available in this instance of the Java virtual machine

#### withCharset

    public ContentType withCharset(Charset charset)

Creates a new instance with this MIME type and the given Charset.

Parameters:
  `charset` - charset
Returns:
  a new instance with this MIME type and the given Charset.
Since:
  4.3

#### withCharset

    public ContentType withCharset(String charset)

Creates a new instance with this MIME type and the given Charset name.

Parameters:
  `charset` - name
Returns:
  a new instance with this MIME type and the given Charset name.
Throws:
  `UnsupportedCharsetException` - Thrown when the named charset is not available in this instance of the Java virtual machine
Since:
  4.3