public class MediaType extends java.lang.Object implements java.lang.Comparable<MediaType>
Consists of a type and a subtype.
Also has functionality to parse media types from a string using parseMediaType(String),
or multiple comma-separated media types using parseMediaTypes(String).
| Modifier and Type | Field and Description |
|---|---|
static MediaType |
ALL
Public constant media type that includes all media ranges (i.e.
|
static java.lang.String |
ALL_VALUE
A String equivalent of
ALL. |
static MediaType |
APPLICATION_ATOM_XML
Public constant media type for
application/atom+xml. |
static java.lang.String |
APPLICATION_ATOM_XML_VALUE
A String equivalent of
APPLICATION_ATOM_XML. |
static MediaType |
APPLICATION_FORM_URLENCODED
Public constant media type for
application/x-www-form-urlencoded. |
static java.lang.String |
APPLICATION_FORM_URLENCODED_VALUE
A String equivalent of
APPLICATION_FORM_URLENCODED. |
static MediaType |
APPLICATION_JSON
Public constant media type for
application/json. |
static java.lang.String |
APPLICATION_JSON_VALUE
A String equivalent of
APPLICATION_JSON. |
static MediaType |
APPLICATION_OCTET_STREAM
Public constant media type for
application/octet-stream. |
static java.lang.String |
APPLICATION_OCTET_STREAM_VALUE
A String equivalent of
APPLICATION_OCTET_STREAM. |
static MediaType |
APPLICATION_XHTML_XML
Public constant media type for
application/xhtml+xml. |
static java.lang.String |
APPLICATION_XHTML_XML_VALUE
A String equivalent of
APPLICATION_XHTML_XML. |
static MediaType |
APPLICATION_XML
Public constant media type for
application/xml. |
static java.lang.String |
APPLICATION_XML_VALUE
A String equivalent of
APPLICATION_XML. |
static MediaType |
IMAGE_GIF
Public constant media type for
image/gif. |
static java.lang.String |
IMAGE_GIF_VALUE
A String equivalent of
IMAGE_GIF. |
static MediaType |
IMAGE_JPEG
Public constant media type for
image/jpeg. |
static java.lang.String |
IMAGE_JPEG_VALUE
A String equivalent of
IMAGE_JPEG. |
static MediaType |
IMAGE_PNG
Public constant media type for
image/png. |
static java.lang.String |
IMAGE_PNG_VALUE
A String equivalent of
IMAGE_PNG. |
static MediaType |
MULTIPART_FORM_DATA
Public constant media type for
multipart/form-data. |
static java.lang.String |
MULTIPART_FORM_DATA_VALUE
A String equivalent of
MULTIPART_FORM_DATA. |
private static java.lang.String |
PARAM_CHARSET |
private static java.lang.String |
PARAM_QUALITY_FACTOR |
private java.util.Map<java.lang.String,java.lang.String> |
parameters |
static java.util.Comparator<MediaType> |
QUALITY_VALUE_COMPARATOR
Comparator used by
sortByQualityValue(List). |
static java.util.Comparator<MediaType> |
SPECIFICITY_COMPARATOR
Comparator used by
sortBySpecificity(List). |
private java.lang.String |
subtype |
static MediaType |
TEXT_HTML
Public constant media type for
text/html. |
static java.lang.String |
TEXT_HTML_VALUE
A String equivalent of
TEXT_HTML. |
static MediaType |
TEXT_PLAIN
Public constant media type for
text/plain. |
static java.lang.String |
TEXT_PLAIN_VALUE
A String equivalent of
TEXT_PLAIN. |
static MediaType |
TEXT_XML
Public constant media type for
text/xml. |
static java.lang.String |
TEXT_XML_VALUE
A String equivalent of
TEXT_XML. |
private static java.util.BitSet |
TOKEN |
private java.lang.String |
type |
private static java.lang.String |
WILDCARD_TYPE |
| Constructor and Description |
|---|
MediaType(MediaType other,
java.util.Map<java.lang.String,java.lang.String> parameters)
Copy-constructor that copies the type and subtype of the given
MediaType,
and allows for different parameter. |
MediaType(java.lang.String type)
Create a new
MediaType for the given primary type. |
MediaType(java.lang.String type,
java.lang.String subtype)
Create a new
MediaType for the given primary type and subtype. |
MediaType(java.lang.String type,
java.lang.String subtype,
java.nio.charset.Charset charSet)
Create a new
MediaType for the given type, subtype, and character set. |
MediaType(java.lang.String type,
java.lang.String subtype,
double qualityValue)
Create a new
MediaType for the given type, subtype, and quality value. |
MediaType(java.lang.String type,
java.lang.String subtype,
java.util.Map<java.lang.String,java.lang.String> parameters)
Create a new
MediaType for the given type, subtype, and parameters. |
| Modifier and Type | Method and Description |
|---|---|
private void |
appendTo(java.util.Map<java.lang.String,java.lang.String> map,
java.lang.StringBuilder builder) |
private void |
appendTo(java.lang.StringBuilder builder) |
private void |
checkParameters(java.lang.String attribute,
java.lang.String value) |
private void |
checkToken(java.lang.String s)
Checks the given token string for illegal characters, as defined in RFC 2616, section 2.2.
|
int |
compareTo(MediaType other)
Compares this
MediaType to another alphabetically. |
MediaType |
copyQualityValue(MediaType mediaType)
Return a replica of this instance with the quality value of the given MediaType.
|
boolean |
equals(java.lang.Object other) |
java.nio.charset.Charset |
getCharSet()
Return the character set, as indicated by a
charset parameter, if any. |
java.lang.String |
getParameter(java.lang.String name)
Return a generic parameter value, given a parameter name.
|
java.util.Map<java.lang.String,java.lang.String> |
getParameters()
Return all generic parameter values.
|
double |
getQualityValue()
Return the quality value, as indicated by a
q parameter, if any. |
java.lang.String |
getSubtype()
Return the subtype.
|
java.lang.String |
getType()
Return the primary type.
|
int |
hashCode() |
boolean |
includes(MediaType other)
Indicate whether this
MediaType includes the given media type. |
boolean |
isCompatibleWith(MediaType other)
Indicate whether this
MediaType is compatible with the given media type. |
boolean |
isConcrete()
Indicates whether this media type is concrete, i.e.
|
private boolean |
isQuotedString(java.lang.String s) |
boolean |
isWildcardSubtype()
Indicates whether the subtype is the wildcard character
* or not. |
boolean |
isWildcardType()
Indicates whether the type is the wildcard character
* or not. |
static MediaType |
parseMediaType(java.lang.String mediaType)
Parse the given String into a single
MediaType. |
static java.util.List<MediaType> |
parseMediaTypes(java.lang.String mediaTypes)
Parse the given, comma-separated string into a list of
MediaType objects. |
MediaType |
removeQualityValue()
Return a replica of this instance with its quality value removed.
|
static void |
sortByQualityValue(java.util.List<MediaType> mediaTypes)
Sorts the given list of
MediaType objects by quality value. |
static void |
sortBySpecificity(java.util.List<MediaType> mediaTypes)
Sorts the given list of
MediaType objects by specificity. |
static void |
sortBySpecificityAndQuality(java.util.List<MediaType> mediaTypes)
Sorts the given list of
MediaType objects by specificity as the
primary criteria and quality value the secondary. |
java.lang.String |
toString() |
static java.lang.String |
toString(java.util.Collection<MediaType> mediaTypes)
Return a string representation of the given list of
MediaType objects. |
private java.lang.String |
unquote(java.lang.String s) |
static MediaType |
valueOf(java.lang.String value)
Parse the given String value into a
MediaType object,
with this method name following the 'valueOf' naming convention
(as supported by ConversionService. |
public static final MediaType ALL
*/*).public static final java.lang.String ALL_VALUE
ALL.public static final MediaType APPLICATION_ATOM_XML
application/atom+xml.public static final java.lang.String APPLICATION_ATOM_XML_VALUE
APPLICATION_ATOM_XML.public static final MediaType APPLICATION_FORM_URLENCODED
application/x-www-form-urlencoded.public static final java.lang.String APPLICATION_FORM_URLENCODED_VALUE
APPLICATION_FORM_URLENCODED.public static final MediaType APPLICATION_JSON
application/json.public static final java.lang.String APPLICATION_JSON_VALUE
APPLICATION_JSON.public static final MediaType APPLICATION_OCTET_STREAM
application/octet-stream.public static final java.lang.String APPLICATION_OCTET_STREAM_VALUE
APPLICATION_OCTET_STREAM.public static final MediaType APPLICATION_XHTML_XML
application/xhtml+xml.public static final java.lang.String APPLICATION_XHTML_XML_VALUE
APPLICATION_XHTML_XML.public static final MediaType APPLICATION_XML
application/xml.public static final java.lang.String APPLICATION_XML_VALUE
APPLICATION_XML.public static final MediaType IMAGE_GIF
image/gif.public static final java.lang.String IMAGE_GIF_VALUE
IMAGE_GIF.public static final MediaType IMAGE_JPEG
image/jpeg.public static final java.lang.String IMAGE_JPEG_VALUE
IMAGE_JPEG.public static final MediaType IMAGE_PNG
image/png.public static final java.lang.String IMAGE_PNG_VALUE
IMAGE_PNG.public static final MediaType MULTIPART_FORM_DATA
multipart/form-data.public static final java.lang.String MULTIPART_FORM_DATA_VALUE
MULTIPART_FORM_DATA.public static final MediaType TEXT_HTML
text/html.public static final java.lang.String TEXT_HTML_VALUE
TEXT_HTML.public static final MediaType TEXT_PLAIN
text/plain.public static final java.lang.String TEXT_PLAIN_VALUE
TEXT_PLAIN.public static final MediaType TEXT_XML
text/xml.public static final java.lang.String TEXT_XML_VALUE
TEXT_XML.private static final java.util.BitSet TOKEN
private static final java.lang.String WILDCARD_TYPE
private static final java.lang.String PARAM_QUALITY_FACTOR
private static final java.lang.String PARAM_CHARSET
private final java.lang.String type
private final java.lang.String subtype
private final java.util.Map<java.lang.String,java.lang.String> parameters
public static final java.util.Comparator<MediaType> SPECIFICITY_COMPARATOR
sortBySpecificity(List).public static final java.util.Comparator<MediaType> QUALITY_VALUE_COMPARATOR
sortByQualityValue(List).public MediaType(java.lang.String type)
MediaType for the given primary type.
The subtype is set to *, parameters empty.
type - the primary typejava.lang.IllegalArgumentException - if any of the parameters contain illegal characterspublic MediaType(java.lang.String type,
java.lang.String subtype)
MediaType for the given primary type and subtype.
The parameters are empty.
type - the primary typesubtype - the subtypejava.lang.IllegalArgumentException - if any of the parameters contain illegal characterspublic MediaType(java.lang.String type,
java.lang.String subtype,
java.nio.charset.Charset charSet)
MediaType for the given type, subtype, and character set.type - the primary typesubtype - the subtypecharSet - the character setjava.lang.IllegalArgumentException - if any of the parameters contain illegal characterspublic MediaType(java.lang.String type,
java.lang.String subtype,
double qualityValue)
MediaType for the given type, subtype, and quality value.type - the primary typesubtype - the subtypequalityValue - the quality valuejava.lang.IllegalArgumentException - if any of the parameters contain illegal characterspublic MediaType(MediaType other, java.util.Map<java.lang.String,java.lang.String> parameters)
MediaType,
and allows for different parameter.other - the other media typeparameters - the parameters, may be nulljava.lang.IllegalArgumentException - if any of the parameters contain illegal characterspublic MediaType(java.lang.String type,
java.lang.String subtype,
java.util.Map<java.lang.String,java.lang.String> parameters)
MediaType for the given type, subtype, and parameters.type - the primary typesubtype - the subtypeparameters - the parameters, may be nulljava.lang.IllegalArgumentException - if any of the parameters contain illegal charactersprivate void checkToken(java.lang.String s)
java.lang.IllegalArgumentException - in case of illegal charactersprivate void checkParameters(java.lang.String attribute,
java.lang.String value)
private boolean isQuotedString(java.lang.String s)
private java.lang.String unquote(java.lang.String s)
public java.lang.String getType()
public boolean isWildcardType()
* or not.public java.lang.String getSubtype()
public boolean isWildcardSubtype()
* or not.*public boolean isConcrete()
*.public java.nio.charset.Charset getCharSet()
charset parameter, if any.null if not availablepublic double getQualityValue()
q parameter, if any.
Defaults to 1.0.public java.lang.String getParameter(java.lang.String name)
name - the parameter namenull if not presentpublic java.util.Map<java.lang.String,java.lang.String> getParameters()
nullpublic boolean includes(MediaType other)
MediaType includes the given media type.
For instance, text/* includes text/plain and text/html, and application/*+xml
includes application/soap+xml, etc. This method is not symmetric.
other - the reference media type with which to comparetrue if this media type includes the given media type; false otherwisepublic boolean isCompatibleWith(MediaType other)
MediaType is compatible with the given media type.
For instance, text/* is compatible with text/plain, text/html, and vice versa.
In effect, this method is similar to includes(MediaType), except that it is symmetric.
other - the reference media type with which to comparetrue if this media type is compatible with the given media type; false otherwisepublic MediaType copyQualityValue(MediaType mediaType)
public MediaType removeQualityValue()
public int compareTo(MediaType other)
MediaType to another alphabetically.compareTo in interface java.lang.Comparable<MediaType>other - media type to compare tosortBySpecificity(List)public boolean equals(java.lang.Object other)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic java.lang.String toString()
toString in class java.lang.Objectprivate void appendTo(java.lang.StringBuilder builder)
private void appendTo(java.util.Map<java.lang.String,java.lang.String> map,
java.lang.StringBuilder builder)
public static MediaType valueOf(java.lang.String value)
MediaType object,
with this method name following the 'valueOf' naming convention
(as supported by ConversionService.parseMediaType(String)public static MediaType parseMediaType(java.lang.String mediaType)
MediaType.mediaType - the string to parsejava.lang.IllegalArgumentException - if the string cannot be parsedpublic static java.util.List<MediaType> parseMediaTypes(java.lang.String mediaTypes)
MediaType objects.
This method can be used to parse an Accept or Content-Type header.
mediaTypes - the string to parsejava.lang.IllegalArgumentException - if the string cannot be parsedpublic static java.lang.String toString(java.util.Collection<MediaType> mediaTypes)
MediaType objects.
This method can be used to for an Accept or Content-Type header.
mediaTypes - the string to parsejava.lang.IllegalArgumentException - if the String cannot be parsedpublic static void sortBySpecificity(java.util.List<MediaType> mediaTypes)
MediaType objects by specificity.
Given two media types:
For example:
audio/basic < audio/* < */*
audio/* < audio/*;q=0.7; audio/*;q=0.3
audio/basic;level=1 < audio/basic
audio/basic == text/html
audio/basic == audio/wave
mediaTypes - the list of media types to be sortedpublic static void sortByQualityValue(java.util.List<MediaType> mediaTypes)
MediaType objects by quality value.
Given two media types:
mediaTypes - the list of media types to be sortedgetQualityValue()public static void sortBySpecificityAndQuality(java.util.List<MediaType> mediaTypes)
MediaType objects by specificity as the
primary criteria and quality value the secondary.