MediaType { public static List<MediaType> list(String mediaTypes) { return split(mediaTypes, ",").stream() .distinct() .map(MediaType::of) .collect(toList()); } private  MediaType(String type, String subType); private  MediaType(String type, String subType, MediaType processingType); private  MediaType(String type, String subType, MediaType processingType, Map<String, String> params); static List<MediaType> list(String mediaTypes); static MediaType of(String mediaType); String get(); String getType(); String getSubType(); Optional<MediaType> getProcessingType(); Map<String, String> getParams(); Optional<String> getParam(String name); @Override int hashCode(); @Override boolean equals(Object obj); @Override String toString(); static final MediaType FORM_URLENCODED; static final MediaType JSON; static final MediaType OCTET_STREAM; static final MediaType MULTIPART_FORM_DATA; static final MediaType HTML; static final MediaType PLAIN_TEXT; static final MediaType WILDCARD; static final MediaType TEXT_XML; static final MediaType XML; static final MediaType ATOM_XML; static final MediaType XHTML_XML; static final MediaType SERIALIZATION_JAVA; static final MediaType SERIALIZATION_HESSIAN; }
@Test public void list_success() { List<MediaType> mediaTypes = MediaType.list("application/json, application/xml"); assertEquals(asList(JSON, XML), mediaTypes); }
@Test public void list_duplicate() { List<MediaType> mediaTypes = MediaType.list("application/json, application/xml, application/json"); assertEquals(asList(JSON, XML), mediaTypes); }
@Test public void list_with_blank_spaces() { List<MediaType> mediaTypes = MediaType.list("application/json, , application/json"); assertEquals(singletonList(JSON), mediaTypes); }