Class MediaTypeSet

All Implemented Interfaces:
Iterable<MediaType>, Collection<MediaType>, Set<MediaType>

public final class MediaTypeSet extends AbstractSet<MediaType>
An immutable Set of MediaTypes which provides useful methods for content negotiation.

This Set provides match(MediaType) and matchHeaders(CharSequence...) so that a user can find the preferred MediaType that matches the specified media ranges. For example:


 MediaTypeSet set = MediaTypeSet.of(MediaType.HTML_UTF_8, MediaType.PLAIN_TEXT_UTF_8);

 MediaType negotiated1 = set.matchHeaders("text/html; q=0.5, text/plain");
 assert negotiated1 != null;
 assert negotiated1.equals(MediaType.PLAIN_TEXT_UTF_8);

 MediaType negotiated2 = set.matchHeaders("audio/*, text/*");
 assert negotiated2 != null;
 assert negotiated2.equals(MediaType.HTML_UTF_8);

 MediaType negotiated3 = set.matchHeaders("video/webm");
 assert negotiated3 == null;