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_COMPARATORComparator for lists of media types.static Comparator<MediaType>PARTIAL_ORDER_COMPARATORA 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 MediaTypeWADL_TYPEWADL Media type.static AcceptableMediaTypeWILDCARD_ACCEPTABLE_TYPEAn acceptable media type corresponding to a wildcard type.static QualitySourceMediaTypeWILDCARD_QS_TYPEAn acceptable media type corresponding to a wildcard type.static List<MediaType>WILDCARD_QS_TYPE_SINGLETON_LISTA singleton list containing the wildcard media type.static List<MediaType>WILDCARD_TYPE_SINGLETON_LISTA singleton list containing the wildcard media type.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static StringconvertToString(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 theConsumesannotation.static List<MediaType>createFrom(Produces annotation)Create an unmodifiable list of media types from the values declared in theProducesannotation.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 intgetQuality(MediaType mt)Reads quality factor from given media type.static MediaTypegetTypeWildCart(MediaType mediaType)Returns MediaType with wildcard in subtype.static booleanintersect(List<? extends MediaType> ml1, List<? extends MediaType> ml2)Determine if the two list of media types share a commontype-equalsub-list.static booleanisWildcard(MediaType mediaType)Check if the given media type is a wildcard type.static MediaTypemostSpecific(MediaType m1, MediaType m2)Get the most specific media type from a pair of media types.static MediaTypestripQualityParams(MediaType mediaType)Strips any quality parameters, i.e.static booleantypeEqual(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_COMPARATORand 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 (theirtypeandsubtypeare 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:
trueif the two media types are of the same type and subtype,falseotherwise.
-
intersect
public static boolean intersect(List<? extends MediaType> ml1, List<? extends MediaType> ml2)
Determine if the two list of media types share a commontype-equalsub-list.- Parameters:
ml1- first media type list.ml2- second media type list.- Returns:
trueif the two media type lists intersect by sharing a common type-equal sub-list,falseotherwise.
-
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 theConsumesannotation.- 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 theProducesannotation.- 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_COMPARATORas 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_TYPEandMediaType.APPLICATION_JSON_TYPEthe result will be "text/plain", "application/json", "text/html".- Parameters:
mediaTypes-iterablewithmedia 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:
trueif the media type is a wildcard type,falseotherwise.
-
-