Class MediaTypes
java.lang.Object
org.glassfish.jersey.message.internal.MediaTypes
Common media types and functionality.
- Author:
- Paul Sandoz, Marek Potociar
-
Field Summary
Modifier and TypeFieldDescriptionstatic final Comparator<List<? extends MediaType>>
Comparator for lists of media types.static final Comparator<MediaType>
A comparator for media types, that implements the "partial order" defined in the resource matching algorithm section of the JAX-RS specification, except that this comparator is "inverted" so that it allows for natural sorting in Java collections, where "lower" values are put to the front of a collection.static final MediaType
WADL Media type.static final AcceptableMediaType
An acceptable media type corresponding to a wildcard type.static final QualitySourceMediaType
An acceptable media type corresponding to a wildcard type.A singleton list containing the wildcard media type.A singleton list containing the wildcard media type. -
Method Summary
Modifier and TypeMethodDescriptionstatic String
convertToString
(Iterable<MediaType> mediaTypes) Convert media types intoString
.createFrom
(Consumes annotation) Create an unmodifiable list of media types from the values declared in theConsumes
annotation.createFrom
(Produces annotation) Create an unmodifiable list of media types from the values declared in theProduces
annotation.createFrom
(String[] mediaTypes) Create an unmodifiable list of media type from a string array of media types.Create a list of quality source media type from the Produces annotation.static List<QualitySourceMediaType>
createQualitySourceMediaTypes
(String[] mediaTypes) Create a list of quality source media type from an array of media types.static int
getQuality
(MediaType mt) Reads quality factor from given media type.static MediaType
getTypeWildCart
(MediaType mediaType) Returns MediaType with wildcard in subtype.static boolean
Determine if the two list of media types share a commontype-equal
sub-list.static boolean
isWildcard
(MediaType mediaType) Check if the given media type is a wildcard type.static MediaType
mostSpecific
(MediaType m1, MediaType m2) Get the most specific media type from a pair of media types.static MediaType
stripQualityParams
(MediaType mediaType) Strips any quality parameters, i.e.static boolean
-
Field Details
-
WADL_TYPE
WADL Media type. -
PARTIAL_ORDER_COMPARATOR
A comparator for media types, that implements the "partial order" defined in the resource matching algorithm section of the JAX-RS specification, except that this comparator is "inverted" so that it allows for natural sorting in Java collections, where "lower" values are put to the front of a collection. IOW, when used to sort a collection, the resulting collection can be iterated in a way that the more specific media types are preferred over the less specific ones:m/n < m/* < */*
The actual media type values are ignored, i.e. the different media types are considered equal if they are comparably specific:compare(m/n, x/y) == 0 compare(m/*, x/*) == 0
-
MEDIA_TYPE_LIST_COMPARATOR
Comparator for lists of media types.The least specific content type of each list is obtained and then compared using
PARTIAL_ORDER_COMPARATOR
.Assumes each list is already ordered according to
PARTIAL_ORDER_COMPARATOR
and therefore the least specific media type is at the end of the list. -
WILDCARD_TYPE_SINGLETON_LIST
A singleton list containing the wildcard media type. -
WILDCARD_ACCEPTABLE_TYPE
An acceptable media type corresponding to a wildcard type. -
WILDCARD_QS_TYPE
An acceptable media type corresponding to a wildcard type. -
WILDCARD_QS_TYPE_SINGLETON_LIST
A singleton list containing the wildcard media type.
-
-
Method Details
-
typeEqual
Determine if the two media types are type-equal (theirtype
andsubtype
are equal). For example:m/n == m/n m/n;p1 == m/n;p2 m/n != m/y m/n != x/n m/n != x/y
- Parameters:
m1
- first media type.m2
- second media type.- Returns:
true
if the two media types are of the same type and subtype,false
otherwise.
-
intersect
Determine if the two list of media types share a commontype-equal
sub-list.- Parameters:
ml1
- first media type list.ml2
- second media type list.- Returns:
true
if the two media type lists intersect by sharing a common type-equal sub-list,false
otherwise.
-
mostSpecific
Get the most specific media type from a pair of media types. The most specific media type is the media type from the pair that has least wild cards present, or has more parameters specified.- Parameters:
m1
- the first media type.m2
- the second media type.- Returns:
- the most specific media type. If the media types are equally specific then the first media type is returned.
-
createFrom
Create an unmodifiable list of media types from the values declared in theConsumes
annotation.- Parameters:
annotation
- the Consumes annotation.- Returns:
- the list of
MediaType
, ordered according toPARTIAL_ORDER_COMPARATOR
.
-
createFrom
Create an unmodifiable list of media types from the values declared in theProduces
annotation.- Parameters:
annotation
- the Produces annotation.- Returns:
- the list of
MediaType
, ordered according toPARTIAL_ORDER_COMPARATOR
.
-
createFrom
Create an unmodifiable list of media type from a string array of media types.- Parameters:
mediaTypes
- the string array of media types.- Returns:
- the list of
MediaType
, ordered according toPARTIAL_ORDER_COMPARATOR
.
-
createQualitySourceMediaTypes
Create a list of quality source media type from the Produces annotation.- Parameters:
mime
- the Produces annotation.- Returns:
- the list of
QualitySourceMediaType
, ordered according toQualitySourceMediaType.COMPARATOR
.
-
createQualitySourceMediaTypes
Create a list of quality source media type from an array of media types.- Parameters:
mediaTypes
- the array of media types.- Returns:
- the list of
QualitySourceMediaType
, ordered according to the quality source as the primary key andPARTIAL_ORDER_COMPARATOR
as the secondary key.
-
getQuality
Reads quality factor from given media type.- Parameters:
mt
- media type to read quality parameter from- Returns:
- quality factor of input media type
-
stripQualityParams
Strips any quality parameters, i.e. q and qs from given media type.- Parameters:
mediaType
- type to strip quality parameters from- Returns:
- media type instance corresponding to the given one with quality parameters stripped off or the original instance if no such parameters are present
-
getTypeWildCart
Returns MediaType with wildcard in subtype.- Parameters:
mediaType
- original MediaType.- Returns:
- MediaType with wildcard in subtype.
-
convertToString
Convert media types intoString
. The result string contains media types in the same order, separated by comma ',' and enclosed into quotes. For example for input media typesMediaType.TEXT_PLAIN_TYPE
,MediaType.TEXT_PLAIN_TYPE
andMediaType.APPLICATION_JSON_TYPE
the result will be "text/plain", "application/json", "text/html".- Parameters:
mediaTypes
-iterable
withmedia types
.- Returns:
- Media types converted into String.
-
isWildcard
Check if the given media type is a wildcard type. A media type is considered to be a wildcard if either the media type's type or subtype is a wildcard type.- Parameters:
mediaType
- media type.- Returns:
true
if the media type is a wildcard type,false
otherwise.
-