javax.ws.rs.core
Class MediaType

java.lang.Object
  extended by javax.ws.rs.core.MediaType
Direct Known Subclasses:
WeightedMediaType

public class MediaType
extends java.lang.Object

An abstraction for a media type. Instances are immutable.

See Also:
HTTP/1.1 section 3.7

Field Summary
static java.lang.String APPLICATION_ATOM_XML
          "application/atom+xml"
static MediaType APPLICATION_ATOM_XML_TYPE
          "application/atom+xml"
static java.lang.String APPLICATION_FORM_URLENCODED
          "application/x-www-form-urlencoded"
static MediaType APPLICATION_FORM_URLENCODED_TYPE
          "application/x-www-form-urlencoded"
static java.lang.String APPLICATION_JSON
          "application/json"
static MediaType APPLICATION_JSON_TYPE
          "application/json"
static java.lang.String APPLICATION_OCTET_STREAM
          "application/octet-stream"
static MediaType APPLICATION_OCTET_STREAM_TYPE
          "application/octet-stream"
static java.lang.String APPLICATION_SVG_XML
          "application/svg+xml"
static MediaType APPLICATION_SVG_XML_TYPE
          "application/svg+xml"
static java.lang.String APPLICATION_XHTML_XML
          "application/xhtml+xml"
static MediaType APPLICATION_XHTML_XML_TYPE
          "application/xhtml+xml"
static java.lang.String APPLICATION_XML
          "application/xml"
static MediaType APPLICATION_XML_TYPE
          "application/xml"
static java.lang.String MEDIA_TYPE_WILDCARD
          The value of a type or subtype wildcard: "*"
static java.lang.String MULTIPART_FORM_DATA
          "multipart/form-data"
static MediaType MULTIPART_FORM_DATA_TYPE
          "multipart/form-data"
static java.lang.String TEXT_HTML
          "text/html"
static MediaType TEXT_HTML_TYPE
          "text/html"
static java.lang.String TEXT_PLAIN
          "text/plain"
static MediaType TEXT_PLAIN_TYPE
          "text/plain"
static java.lang.String TEXT_XML
          "text/xml"
static MediaType TEXT_XML_TYPE
          "text/xml"
static java.lang.String WILDCARD
          "*/*"
static MediaType WILDCARD_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.
 
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 hashcode 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.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

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
"*/*"

See Also:
Constant Field Values

WILDCARD_TYPE

public static final MediaType WILDCARD_TYPE
"*/*"


APPLICATION_XML

public static final java.lang.String APPLICATION_XML
"application/xml"

See Also:
Constant Field Values

APPLICATION_XML_TYPE

public static final MediaType APPLICATION_XML_TYPE
"application/xml"


APPLICATION_ATOM_XML

public static final java.lang.String APPLICATION_ATOM_XML
"application/atom+xml"

See Also:
Constant Field Values

APPLICATION_ATOM_XML_TYPE

public static final MediaType APPLICATION_ATOM_XML_TYPE
"application/atom+xml"


APPLICATION_XHTML_XML

public static final java.lang.String APPLICATION_XHTML_XML
"application/xhtml+xml"

See Also:
Constant Field Values

APPLICATION_XHTML_XML_TYPE

public static final MediaType APPLICATION_XHTML_XML_TYPE
"application/xhtml+xml"


APPLICATION_SVG_XML

public static final java.lang.String APPLICATION_SVG_XML
"application/svg+xml"

See Also:
Constant Field Values

APPLICATION_SVG_XML_TYPE

public static final MediaType APPLICATION_SVG_XML_TYPE
"application/svg+xml"


APPLICATION_JSON

public static final java.lang.String APPLICATION_JSON
"application/json"

See Also:
Constant Field Values

APPLICATION_JSON_TYPE

public static final MediaType APPLICATION_JSON_TYPE
"application/json"


APPLICATION_FORM_URLENCODED

public static final java.lang.String APPLICATION_FORM_URLENCODED
"application/x-www-form-urlencoded"

See Also:
Constant Field Values

APPLICATION_FORM_URLENCODED_TYPE

public static final MediaType APPLICATION_FORM_URLENCODED_TYPE
"application/x-www-form-urlencoded"


MULTIPART_FORM_DATA

public static final java.lang.String MULTIPART_FORM_DATA
"multipart/form-data"

See Also:
Constant Field Values

MULTIPART_FORM_DATA_TYPE

public static final MediaType MULTIPART_FORM_DATA_TYPE
"multipart/form-data"


APPLICATION_OCTET_STREAM

public static final java.lang.String APPLICATION_OCTET_STREAM
"application/octet-stream"

See Also:
Constant Field Values

APPLICATION_OCTET_STREAM_TYPE

public static final MediaType APPLICATION_OCTET_STREAM_TYPE
"application/octet-stream"


TEXT_PLAIN

public static final java.lang.String TEXT_PLAIN
"text/plain"

See Also:
Constant Field Values

TEXT_PLAIN_TYPE

public static final MediaType TEXT_PLAIN_TYPE
"text/plain"


TEXT_XML

public static final java.lang.String TEXT_XML
"text/xml"

See Also:
Constant Field Values

TEXT_XML_TYPE

public static final MediaType TEXT_XML_TYPE
"text/xml"


TEXT_HTML

public static final java.lang.String TEXT_HTML
"text/html"

See Also:
Constant Field Values

TEXT_HTML_TYPE

public static final MediaType TEXT_HTML_TYPE
"text/html"

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()
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.

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.

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 hashcode from the type, subtype and parameters.

Overrides:
hashCode in class java.lang.Object
Returns:
a hashcode

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 stringified media type


Copyright © 2010. All Rights Reserved.