public class MediaType extends Object implements 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 String |
ALL_VALUE
A String equivalent of
ALL . |
static MediaType |
APPLICATION_ATOM_XML
Public constant media type for
application/atom+xml . |
static 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 String |
APPLICATION_FORM_URLENCODED_VALUE
A String equivalent of
APPLICATION_FORM_URLENCODED . |
static MediaType |
APPLICATION_JSON
Public constant media type for
application/json . |
static String |
APPLICATION_JSON_VALUE
A String equivalent of
APPLICATION_JSON . |
static MediaType |
APPLICATION_OCTET_STREAM
Public constant media type for
application/octet-stream . |
static 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 String |
APPLICATION_XHTML_XML_VALUE
A String equivalent of
APPLICATION_XHTML_XML . |
static MediaType |
APPLICATION_XML
Public constant media type for
application/xml . |
static String |
APPLICATION_XML_VALUE
A String equivalent of
APPLICATION_XML . |
static MediaType |
IMAGE_GIF
Public constant media type for
image/gif . |
static String |
IMAGE_GIF_VALUE
A String equivalent of
IMAGE_GIF . |
static MediaType |
IMAGE_JPEG
Public constant media type for
image/jpeg . |
static String |
IMAGE_JPEG_VALUE
A String equivalent of
IMAGE_JPEG . |
static MediaType |
IMAGE_PNG
Public constant media type for
image/png . |
static String |
IMAGE_PNG_VALUE
A String equivalent of
IMAGE_PNG . |
static MediaType |
MULTIPART_FORM_DATA
Public constant media type for
multipart/form-data . |
static String |
MULTIPART_FORM_DATA_VALUE
A String equivalent of
MULTIPART_FORM_DATA . |
static Comparator<MediaType> |
QUALITY_VALUE_COMPARATOR
Comparator used by
sortByQualityValue(List) . |
static Comparator<MediaType> |
SPECIFICITY_COMPARATOR
Comparator used by
sortBySpecificity(List) . |
static MediaType |
TEXT_HTML
Public constant media type for
text/html . |
static String |
TEXT_HTML_VALUE
A String equivalent of
TEXT_HTML . |
static MediaType |
TEXT_PLAIN
Public constant media type for
text/plain . |
static String |
TEXT_PLAIN_VALUE
A String equivalent of
TEXT_PLAIN . |
static MediaType |
TEXT_XML
Public constant media type for
text/xml . |
static String |
TEXT_XML_VALUE
A String equivalent of
TEXT_XML . |
Constructor and Description |
---|
MediaType(MediaType other,
Map<String,String> parameters)
Copy-constructor that copies the type and subtype of the given
MediaType ,
and allows for different parameter. |
MediaType(String type)
Create a new
MediaType for the given primary type. |
MediaType(String type,
String subtype)
Create a new
MediaType for the given primary type and subtype. |
MediaType(String type,
String subtype,
Charset charset)
Create a new
MediaType for the given type, subtype, and character set. |
MediaType(String type,
String subtype,
double qualityValue)
Create a new
MediaType for the given type, subtype, and quality value. |
MediaType(String type,
String subtype,
Map<String,String> parameters)
Create a new
MediaType for the given type, subtype, and parameters. |
Modifier and Type | Method and Description |
---|---|
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(Object other) |
Charset |
getCharSet()
Return the character set, as indicated by a
charset parameter, if any. |
String |
getParameter(String name)
Return a generic parameter value, given a parameter name.
|
Map<String,String> |
getParameters()
Return all generic parameter values.
|
double |
getQualityValue()
Return the quality value, as indicated by a
q parameter, if any. |
String |
getSubtype()
Return the subtype.
|
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.
|
boolean |
isWildcardSubtype()
Indicates whether the subtype is the wildcard character
*
or the wildcard character followed by a sufiix (e.g. |
boolean |
isWildcardType()
Indicates whether the type is the wildcard character
* or not. |
static MediaType |
parseMediaType(String mediaType)
Parse the given String into a single
MediaType . |
static List<MediaType> |
parseMediaTypes(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(List<MediaType> mediaTypes)
Sorts the given list of
MediaType objects by quality value. |
static void |
sortBySpecificity(List<MediaType> mediaTypes)
Sorts the given list of
MediaType objects by specificity. |
static void |
sortBySpecificityAndQuality(List<MediaType> mediaTypes)
Sorts the given list of
MediaType objects by specificity as the
primary criteria and quality value the secondary. |
String |
toString() |
static String |
toString(Collection<MediaType> mediaTypes)
Return a string representation of the given list of
MediaType objects. |
static MediaType |
valueOf(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 String ALL_VALUE
ALL
.public static final MediaType APPLICATION_ATOM_XML
application/atom+xml
.public static final String APPLICATION_ATOM_XML_VALUE
APPLICATION_ATOM_XML
.public static final MediaType APPLICATION_FORM_URLENCODED
application/x-www-form-urlencoded
.public static final String APPLICATION_FORM_URLENCODED_VALUE
APPLICATION_FORM_URLENCODED
.public static final MediaType APPLICATION_JSON
application/json
.public static final String APPLICATION_JSON_VALUE
APPLICATION_JSON
.public static final MediaType APPLICATION_OCTET_STREAM
application/octet-stream
.public static final String APPLICATION_OCTET_STREAM_VALUE
APPLICATION_OCTET_STREAM
.public static final MediaType APPLICATION_XHTML_XML
application/xhtml+xml
.public static final String APPLICATION_XHTML_XML_VALUE
APPLICATION_XHTML_XML
.public static final MediaType APPLICATION_XML
application/xml
.public static final String APPLICATION_XML_VALUE
APPLICATION_XML
.public static final MediaType IMAGE_GIF
image/gif
.public static final String IMAGE_GIF_VALUE
IMAGE_GIF
.public static final MediaType IMAGE_JPEG
image/jpeg
.public static final String IMAGE_JPEG_VALUE
IMAGE_JPEG
.public static final MediaType IMAGE_PNG
image/png
.public static final String IMAGE_PNG_VALUE
IMAGE_PNG
.public static final MediaType MULTIPART_FORM_DATA
multipart/form-data
.public static final String MULTIPART_FORM_DATA_VALUE
MULTIPART_FORM_DATA
.public static final MediaType TEXT_HTML
text/html
.public static final String TEXT_HTML_VALUE
TEXT_HTML
.public static final MediaType TEXT_PLAIN
text/plain
.public static final String TEXT_PLAIN_VALUE
TEXT_PLAIN
.public static final MediaType TEXT_XML
text/xml
.public static final String TEXT_XML_VALUE
TEXT_XML
.public static final Comparator<MediaType> SPECIFICITY_COMPARATOR
sortBySpecificity(List)
.public static final Comparator<MediaType> QUALITY_VALUE_COMPARATOR
sortByQualityValue(List)
.public MediaType(String type)
MediaType
for the given primary type.
The subtype is set to *
, parameters empty.
type
- the primary typeIllegalArgumentException
- if any of the parameters contain illegal characterspublic MediaType(String type, String subtype)
MediaType
for the given primary type and subtype.
The parameters are empty.
type
- the primary typesubtype
- the subtypeIllegalArgumentException
- if any of the parameters contain illegal characterspublic MediaType(String type, String subtype, Charset charset)
MediaType
for the given type, subtype, and character set.type
- the primary typesubtype
- the subtypecharset
- the character setIllegalArgumentException
- if any of the parameters contain illegal characterspublic MediaType(String type, String subtype, double qualityValue)
MediaType
for the given type, subtype, and quality value.type
- the primary typesubtype
- the subtypequalityValue
- the quality valueIllegalArgumentException
- if any of the parameters contain illegal characterspublic MediaType(MediaType other, Map<String,String> parameters)
MediaType
,
and allows for different parameter.other
- the other media typeparameters
- the parameters, may be null
IllegalArgumentException
- if any of the parameters contain illegal characterspublic MediaType(String type, String subtype, Map<String,String> parameters)
MediaType
for the given type, subtype, and parameters.type
- the primary typesubtype
- the subtypeparameters
- the parameters, may be null
IllegalArgumentException
- if any of the parameters contain illegal characterspublic String getType()
public boolean isWildcardType()
*
or not.public String getSubtype()
public boolean isWildcardSubtype()
*
or the wildcard character followed by a sufiix (e.g. *+xml
), or not.*
public boolean isConcrete()
*
.public Charset getCharSet()
charset
parameter, if any.null
if not availablepublic double getQualityValue()
q
parameter, if any.
Defaults to 1.0
.public String getParameter(String name)
name
- the parameter namenull
if not presentpublic Map<String,String> getParameters()
null
public 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 Comparable<MediaType>
other
- media type to compare tosortBySpecificity(List)
public static MediaType valueOf(String value)
MediaType
object,
with this method name following the 'valueOf' naming convention
(as supported by ConversionService
.parseMediaType(String)
public static MediaType parseMediaType(String mediaType)
MediaType
.mediaType
- the string to parseInvalidMediaTypeException
- if the string cannot be parsedpublic static List<MediaType> parseMediaTypes(String mediaTypes)
MediaType
objects.
This method can be used to parse an Accept or Content-Type header.
mediaTypes
- the string to parseIllegalArgumentException
- if the string cannot be parsedpublic static String toString(Collection<MediaType> mediaTypes)
MediaType
objects.
This method can be used to for an Accept
or Content-Type
header.
mediaTypes
- the string to parseIllegalArgumentException
- if the String cannot be parsedpublic static void sortBySpecificity(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(List<MediaType> mediaTypes)
MediaType
objects by quality value.
Given two media types:
mediaTypes
- the list of media types to be sortedgetQualityValue()