Class MediaTypes
- java.lang.Object
-
- org.glassfish.jersey.message.internal.MediaTypes
-
public final class MediaTypes extends Object
Common media types and functionality.- Author:
- Paul Sandoz, Marek Potociar
-
-
Field Summary
Fields Modifier and Type Field Description static Comparator<List<? extends MediaType>>
MEDIA_TYPE_LIST_COMPARATOR
Comparator for lists of media types.static Comparator<MediaType>
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.static MediaType
WADL_TYPE
WADL Media type.static AcceptableMediaType
WILDCARD_ACCEPTABLE_TYPE
An acceptable media type corresponding to a wildcard type.static QualitySourceMediaType
WILDCARD_QS_TYPE
An acceptable media type corresponding to a wildcard type.static List<MediaType>
WILDCARD_QS_TYPE_SINGLETON_LIST
A singleton list containing the wildcard media type.static List<MediaType>
WILDCARD_TYPE_SINGLETON_LIST
A singleton list containing the wildcard media type.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static String
convertToString(Iterable<MediaType> mediaTypes)
Convert media types intoString
.static List<MediaType>
createFrom(Consumes annotation)
Create an unmodifiable list of media types from the values declared in theConsumes
annotation.static List<MediaType>
createFrom(Produces annotation)
Create an unmodifiable list of media types from the values declared in theProduces
annotation.static List<MediaType>
createFrom(String[] mediaTypes)
Create an unmodifiable list of media type from a string array of media types.static List<MediaType>
createQualitySourceMediaTypes(Produces mime)
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
intersect(List<? extends MediaType> ml1, List<? extends MediaType> ml2)
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
typeEqual(MediaType m1, MediaType m2)
-
-
-
Field Detail
-
WADL_TYPE
public static final MediaType WADL_TYPE
WADL Media type.
-
PARTIAL_ORDER_COMPARATOR
public static final Comparator<MediaType> 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
public static final Comparator<List<? extends MediaType>> 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
public static final List<MediaType> WILDCARD_TYPE_SINGLETON_LIST
A singleton list containing the wildcard media type.
-
WILDCARD_ACCEPTABLE_TYPE
public static final AcceptableMediaType WILDCARD_ACCEPTABLE_TYPE
An acceptable media type corresponding to a wildcard type.
-
WILDCARD_QS_TYPE
public static final QualitySourceMediaType WILDCARD_QS_TYPE
An acceptable media type corresponding to a wildcard type.
-
-
Method Detail
-
typeEqual
public static boolean typeEqual(MediaType m1, MediaType m2)
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
public static boolean intersect(List<? extends MediaType> ml1, List<? extends MediaType> ml2)
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
public static MediaType mostSpecific(MediaType m1, MediaType m2)
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
public static List<MediaType> createFrom(Consumes annotation)
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
public static List<MediaType> createFrom(Produces annotation)
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
public static List<MediaType> createFrom(String[] mediaTypes)
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
public static List<MediaType> createQualitySourceMediaTypes(Produces mime)
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
public static List<QualitySourceMediaType> createQualitySourceMediaTypes(String[] mediaTypes)
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
public static int getQuality(MediaType mt)
Reads quality factor from given media type.- Parameters:
mt
- media type to read quality parameter from- Returns:
- quality factor of input media type
-
stripQualityParams
public static MediaType stripQualityParams(MediaType mediaType)
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
public static MediaType getTypeWildCart(MediaType mediaType)
Returns MediaType with wildcard in subtype.- Parameters:
mediaType
- original MediaType.- Returns:
- MediaType with wildcard in subtype.
-
convertToString
public static String convertToString(Iterable<MediaType> mediaTypes)
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
public static boolean isWildcard(MediaType mediaType)
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.
-
-