javax.ws.rs.core
Class MediaType

java.lang.Object
  extended by javax.ws.rs.core.MediaType

public class MediaType
extends java.lang.Object

An abstraction for a media type. Instances are immutable.

Since:
1.0
Author:
Paul Sandoz, Marc Hadley
See Also:
HTTP/1.1 section 3.7

Field Summary
static java.lang.String APPLICATION_ATOM_XML
          A String constant representing ""application/atom+xml"" media type.
static MediaType APPLICATION_ATOM_XML_TYPE
          A MediaType constant representing ""application/atom+xml"" media type.
static java.lang.String APPLICATION_FORM_URLENCODED
          A String constant representing ""application/x-www-form-urlencoded"" media type.
static MediaType APPLICATION_FORM_URLENCODED_TYPE
          A MediaType constant representing ""application/x-www-form-urlencoded"" media type.
static java.lang.String APPLICATION_JSON
          A String constant representing ""application/json"" media type.
static MediaType APPLICATION_JSON_TYPE
          A MediaType constant representing ""application/json"" media type.
static java.lang.String APPLICATION_OCTET_STREAM
          A String constant representing ""application/octet-stream"" media type.
static MediaType APPLICATION_OCTET_STREAM_TYPE
          A MediaType constant representing ""application/octet-stream"" media type.
static java.lang.String APPLICATION_SVG_XML
          A String constant representing ""application/svg+xml"" media type.
static MediaType APPLICATION_SVG_XML_TYPE
          A MediaType constant representing ""application/svg+xml"" media type.
static java.lang.String APPLICATION_XHTML_XML
          A String constant representing ""application/xhtml+xml"" media type.
static MediaType APPLICATION_XHTML_XML_TYPE
          A MediaType constant representing ""application/xhtml+xml"" media type.
static java.lang.String APPLICATION_XML
          A String constant representing ""application/xml"" media type.
static MediaType APPLICATION_XML_TYPE
          A MediaType constant representing ""application/xml"" media type.
static java.lang.String CHARSET_PARAMETER
          The media type charset parameter name.
static java.lang.String MEDIA_TYPE_WILDCARD
          The value of a type or subtype wildcard ""*"".
static java.lang.String MULTIPART_FORM_DATA
          A String constant representing ""multipart/form-data"" media type.
static MediaType MULTIPART_FORM_DATA_TYPE
          A MediaType constant representing ""multipart/form-data"" media type.
static java.lang.String TEXT_HTML
          A String constant representing ""text/html"" media type.
static MediaType TEXT_HTML_TYPE
          A MediaType constant representing ""text/html"" media type.
static java.lang.String TEXT_PLAIN
          A String constant representing ""text/plain"" media type.
static MediaType TEXT_PLAIN_TYPE
          A MediaType constant representing ""text/plain"" media type.
static java.lang.String TEXT_XML
          A String constant representing ""text/xml"" media type.
static MediaType TEXT_XML_TYPE
          A MediaType constant representing ""text/xml"" media type.
static java.lang.String WILDCARD
          A String constant representing wildcard ""*/*"" media type .
static MediaType WILDCARD_TYPE
          A MediaType constant representing wildcard ""*/*"" media type.
 
Constructor Summary
MediaType()
          Creates a new instance of MediaType, both type and subtype are wildcards.
MediaType(java.lang.String type, java.lang.String subtype)
          Creates a new instance of MediaType with the supplied type and subtype.
MediaType(java.lang.String type, java.lang.String subtype, java.util.Map<java.lang.String,java.lang.String> parameters)
          Creates a new instance of MediaType with the supplied type, subtype and parameters.
MediaType(java.lang.String type, java.lang.String subtype, java.lang.String charset)
          Creates a new instance of MediaType with the supplied type, subtype and ""charset"" parameter.
 
Method Summary
 boolean equals(java.lang.Object obj)
          Compares obj to this media type to see if they are the same by comparing type, subtype and parameters.
 java.util.Map<java.lang.String,java.lang.String> getParameters()
          Getter for a read-only parameter map.
 java.lang.String getSubtype()
          Getter for subtype.
 java.lang.String getType()
          Getter for primary type.
 int hashCode()
          Generate a hash code from the type, subtype and parameters.
 boolean isCompatible(MediaType other)
          Check if this media type is compatible with another media type.
 boolean isWildcardSubtype()
          Checks if the subtype is a wildcard.
 boolean isWildcardType()
          Checks if the primary type is a wildcard.
 java.lang.String toString()
          Convert the media type to a string suitable for use as the value of a corresponding HTTP header.
static MediaType valueOf(java.lang.String type)
          Creates a new instance of MediaType by parsing the supplied string.
 MediaType withCharset(java.lang.String charset)
          Create a new MediaType instance with the same type, subtype and parameters copied from the original instance and the supplied ""charset"" parameter.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

CHARSET_PARAMETER

public static final java.lang.String CHARSET_PARAMETER
The media type charset parameter name.

See Also:
Constant Field Values

MEDIA_TYPE_WILDCARD

public static final java.lang.String MEDIA_TYPE_WILDCARD
The value of a type or subtype wildcard ""*"".

See Also:
Constant Field Values

WILDCARD

public static final java.lang.String WILDCARD
A String constant representing wildcard ""*/*"" media type .

See Also:
Constant Field Values

WILDCARD_TYPE

public static final MediaType WILDCARD_TYPE
A MediaType constant representing wildcard ""*/*"" media type.


APPLICATION_XML

public static final java.lang.String APPLICATION_XML
A String constant representing ""application/xml"" media type.

See Also:
Constant Field Values

APPLICATION_XML_TYPE

public static final MediaType APPLICATION_XML_TYPE
A MediaType constant representing ""application/xml"" media type.


APPLICATION_ATOM_XML

public static final java.lang.String APPLICATION_ATOM_XML
A String constant representing ""application/atom+xml"" media type.

See Also:
Constant Field Values

APPLICATION_ATOM_XML_TYPE

public static final MediaType APPLICATION_ATOM_XML_TYPE
A MediaType constant representing ""application/atom+xml"" media type.


APPLICATION_XHTML_XML

public static final java.lang.String APPLICATION_XHTML_XML
A String constant representing ""application/xhtml+xml"" media type.

See Also:
Constant Field Values

APPLICATION_XHTML_XML_TYPE

public static final MediaType APPLICATION_XHTML_XML_TYPE
A MediaType constant representing ""application/xhtml+xml"" media type.


APPLICATION_SVG_XML

public static final java.lang.String APPLICATION_SVG_XML
A String constant representing ""application/svg+xml"" media type.

See Also:
Constant Field Values

APPLICATION_SVG_XML_TYPE

public static final MediaType APPLICATION_SVG_XML_TYPE
A MediaType constant representing ""application/svg+xml"" media type.


APPLICATION_JSON

public static final java.lang.String APPLICATION_JSON
A String constant representing ""application/json"" media type.

See Also:
Constant Field Values

APPLICATION_JSON_TYPE

public static final MediaType APPLICATION_JSON_TYPE
A MediaType constant representing ""application/json"" media type.


APPLICATION_FORM_URLENCODED

public static final java.lang.String APPLICATION_FORM_URLENCODED
A String constant representing ""application/x-www-form-urlencoded"" media type.

See Also:
Constant Field Values

APPLICATION_FORM_URLENCODED_TYPE

public static final MediaType APPLICATION_FORM_URLENCODED_TYPE
A MediaType constant representing ""application/x-www-form-urlencoded"" media type.


MULTIPART_FORM_DATA

public static final java.lang.String MULTIPART_FORM_DATA
A String constant representing ""multipart/form-data"" media type.

See Also:
Constant Field Values

MULTIPART_FORM_DATA_TYPE

public static final MediaType MULTIPART_FORM_DATA_TYPE
A MediaType constant representing ""multipart/form-data"" media type.


APPLICATION_OCTET_STREAM

public static final java.lang.String APPLICATION_OCTET_STREAM
A String constant representing ""application/octet-stream"" media type.

See Also:
Constant Field Values

APPLICATION_OCTET_STREAM_TYPE

public static final MediaType APPLICATION_OCTET_STREAM_TYPE
A MediaType constant representing ""application/octet-stream"" media type.


TEXT_PLAIN

public static final java.lang.String TEXT_PLAIN
A String constant representing ""text/plain"" media type.

See Also:
Constant Field Values

TEXT_PLAIN_TYPE

public static final MediaType TEXT_PLAIN_TYPE
A MediaType constant representing ""text/plain"" media type.


TEXT_XML

public static final java.lang.String TEXT_XML
A String constant representing ""text/xml"" media type.

See Also:
Constant Field Values

TEXT_XML_TYPE

public static final MediaType TEXT_XML_TYPE
A MediaType constant representing ""text/xml"" media type.


TEXT_HTML

public static final java.lang.String TEXT_HTML
A String constant representing ""text/html"" media type.

See Also:
Constant Field Values

TEXT_HTML_TYPE

public static final MediaType TEXT_HTML_TYPE
A MediaType constant representing ""text/html"" media type.

Constructor Detail

MediaType

public MediaType(java.lang.String type,
                 java.lang.String subtype,
                 java.util.Map<java.lang.String,java.lang.String> parameters)
Creates a new instance of MediaType with the supplied type, subtype and parameters.

Parameters:
type - the primary type, null is equivalent to MEDIA_TYPE_WILDCARD.
subtype - the subtype, null is equivalent to MEDIA_TYPE_WILDCARD.
parameters - a map of media type parameters, null is the same as an empty map.

MediaType

public MediaType(java.lang.String type,
                 java.lang.String subtype)
Creates a new instance of MediaType with the supplied type and subtype.

Parameters:
type - the primary type, null is equivalent to MEDIA_TYPE_WILDCARD
subtype - the subtype, null is equivalent to MEDIA_TYPE_WILDCARD

MediaType

public MediaType(java.lang.String type,
                 java.lang.String subtype,
                 java.lang.String charset)
Creates a new instance of MediaType with the supplied type, subtype and ""charset"" parameter.

Parameters:
type - the primary type, null is equivalent to MEDIA_TYPE_WILDCARD
subtype - the subtype, null is equivalent to MEDIA_TYPE_WILDCARD
charset - the ""charset"" parameter value. If null or empty the ""charset"" parameter will not be set.

MediaType

public MediaType()
Creates a new instance of MediaType, both type and subtype are wildcards. Consider using the constant WILDCARD_TYPE instead.

Method Detail

valueOf

public static MediaType valueOf(java.lang.String type)
                         throws java.lang.IllegalArgumentException
Creates a new instance of MediaType by parsing the supplied string.

Parameters:
type - the media type string.
Returns:
the newly created MediaType.
Throws:
java.lang.IllegalArgumentException - if the supplied string cannot be parsed or is null.

getType

public java.lang.String getType()
Getter for primary type.

Returns:
value of primary type.

isWildcardType

public boolean isWildcardType()
Checks if the primary type is a wildcard.

Returns:
true if the primary type is a wildcard.

getSubtype

public java.lang.String getSubtype()
Getter for subtype.

Returns:
value of subtype.

isWildcardSubtype

public boolean isWildcardSubtype()
Checks if the subtype is a wildcard.

Returns:
true if the subtype is a wildcard.

getParameters

public java.util.Map<java.lang.String,java.lang.String> getParameters()
Getter for a read-only parameter map. Keys are case-insensitive.

Returns:
an immutable map of parameters.

withCharset

public MediaType withCharset(java.lang.String charset)
Create a new MediaType instance with the same type, subtype and parameters copied from the original instance and the supplied ""charset"" parameter.

Parameters:
charset - the ""charset"" parameter value. If null or empty the ""charset"" parameter will not be set or updated.
Returns:
copy of the current MediaType instance with the ""charset"" parameter set to the supplied value.
Since:
2.0

isCompatible

public boolean isCompatible(MediaType other)
Check if this media type is compatible with another media type. E.g. image/* is compatible with image/jpeg, image/png, etc. Media type parameters are ignored. The function is commutative.

Parameters:
other - the media type to compare with.
Returns:
true if the types are compatible, false otherwise.

equals

public boolean equals(java.lang.Object obj)
Compares obj to this media type to see if they are the same by comparing type, subtype and parameters. Note that the case-sensitivity of parameter values is dependent on the semantics of the parameter name, see HTTP/1.1. This method assumes that values are case-sensitive.

Note that the equals(...) implementation does not perform a class equality check (this.getClass() == obj.getClass()). Therefore any class that extends from MediaType class and needs to override one of the equals(...) and hashCode() methods must always override both methods to ensure the contract between Object.equals(java.lang.Object) and Object.hashCode() does not break.

Overrides:
equals in class java.lang.Object
Parameters:
obj - the object to compare to.
Returns:
true if the two media types are the same, false otherwise.

hashCode

public int hashCode()
Generate a hash code from the type, subtype and parameters.

Note that the equals(java.lang.Object) implementation does not perform a class equality check (this.getClass() == obj.getClass()). Therefore any class that extends from MediaType class and needs to override one of the equals(Object) and hashCode() methods must always override both methods to ensure the contract between Object.equals(java.lang.Object) and Object.hashCode() does not break.

Overrides:
hashCode in class java.lang.Object
Returns:
a generated hash code.

toString

public java.lang.String toString()
Convert the media type to a string suitable for use as the value of a corresponding HTTP header.

Overrides:
toString in class java.lang.Object
Returns:
a string version of the media type.


Copyright © 2007-2012 Oracle Corporation. All Rights Reserved. Use is subject to license terms.