Package javax.mail.internet

## Class ContentType

- java.lang.Object
- - javax.mail.internet.ContentType

    public class ContentType
    extends java.lang.Object

This class represents a MIME Content-Type value. It provides methods to parse a Content-Type string into individual components and to generate a MIME style Content-Type string.

Author:
  John Mani

### Constructor Summary

Constructors
`ContentType()` No-arg Constructor.
`ContentType​(java.lang.String s)` Constructor that takes a Content-Type string.
`ContentType​(java.lang.String primaryType, java.lang.String subType, ParameterList list)` Constructor.

### Method Summary

All Methods Instance Methods Concrete Methods
`java.lang.String` `getBaseType()` Return the MIME type string, without the parameters.
`java.lang.String` `getParameter​(java.lang.String name)` Return the specified parameter value.
`ParameterList` `getParameterList()` Return a ParameterList object that holds all the available parameters.
`java.lang.String` `getPrimaryType()` Return the primary type.
`java.lang.String` `getSubType()` Return the subType.
`boolean` `match​(java.lang.String s)` Match with the specified content-type string.
`boolean` `match​(ContentType cType)` Match with the specified ContentType object.
`void` `setParameter​(java.lang.String name, java.lang.String value)` Set the specified parameter.
`void` `setParameterList​(ParameterList list)` Set a new ParameterList.
`void` `setPrimaryType​(java.lang.String primaryType)` Set the primary type.
`void` `setSubType​(java.lang.String subType)` Set the subType.
`java.lang.String` `toString()` Retrieve a RFC2045 style string representation of this Content-Type.

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

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

### Constructor Detail

#### ContentType

    public ContentType()

No-arg Constructor.

#### ContentType

    public ContentType​(java.lang.String primaryType,
                       java.lang.String subType,
                       ParameterList list)

Constructor.

Parameters:
  `primaryType` - primary type
  `subType` - subType
  `list` - ParameterList

#### ContentType

    public ContentType​(java.lang.String s)
                throws ParseException

Constructor that takes a Content-Type string. The String is parsed into its constituents: primaryType, subType and parameters. A ParseException is thrown if the parse fails.

Parameters:
  `s` - the Content-Type string.
Throws:
  `ParseException` - if the parse fails.

### Method Detail

#### getPrimaryType

    public java.lang.String getPrimaryType()

Return the primary type.

Returns:
  the primary type

#### getSubType

    public java.lang.String getSubType()

Return the subType.

Returns:
  the subType

#### getBaseType

    public java.lang.String getBaseType()

Return the MIME type string, without the parameters. The returned value is basically the concatenation of the primaryType, the '/' character and the secondaryType.

Returns:
  the type

#### getParameter

    public java.lang.String getParameter​(java.lang.String name)

Return the specified parameter value. Returns `null` if this parameter is absent.

Parameters:
  `name` - the parameter name
Returns:
  parameter value

#### getParameterList

    public ParameterList getParameterList()

Return a ParameterList object that holds all the available parameters. Returns null if no parameters are available.

Returns:
  ParameterList

#### setPrimaryType

    public void setPrimaryType​(java.lang.String primaryType)

Set the primary type. Overrides existing primary type.

Parameters:
  `primaryType` - primary type

#### setSubType

    public void setSubType​(java.lang.String subType)

Set the subType. Replaces the existing subType.

Parameters:
  `subType` - the subType

#### setParameter

    public void setParameter​(java.lang.String name,
                             java.lang.String value)

Set the specified parameter. If this parameter already exists, it is replaced by this new value.

Parameters:
  `name` - parameter name
  `value` - parameter value

#### setParameterList

    public void setParameterList​(ParameterList list)

Set a new ParameterList.

Parameters:
  `list` - ParameterList

#### toString

    public java.lang.String toString()

Retrieve a RFC2045 style string representation of this Content-Type. Returns an empty string if the conversion failed.

Overrides:
  `toString` in class `java.lang.Object`
Returns:
  RFC2045 style string

#### match

    public boolean match​(ContentType cType)

Match with the specified ContentType object. This method compares only the `primaryType` and `subType` . The parameters of both operands are ignored.

For example, this method will return `true` when comparing the ContentTypes for "text/plain" and "text/plain; charset=foobar". If the `subType` of either operand is the special character '*', then the subtype is ignored during the match. For example, this method will return `true` when comparing the ContentTypes for "text/plain" and "text/*"

Parameters:
  `cType` - ContentType to compare this against
Returns:
  true if it matches

#### match

    public boolean match​(java.lang.String s)

Match with the specified content-type string. This method compares only the `primaryType` and `subType` . The parameters of both operands are ignored.

For example, this method will return `true` when comparing the ContentType for "text/plain" with "text/plain; charset=foobar". If the `subType` of either operand is the special character '*', then the subtype is ignored during the match. For example, this method will return `true` when comparing the ContentType for "text/plain" with "text/*"

Parameters:
  `s` - the content-type string to match
Returns:
  true if it matches