@@ -501,8 +501,9 @@ public final String toString() {
501501 *
502502 * @param type A media type to parse.
503503 * @return An immutable {@link MediaType}.
504+ * @throws Err.BadMediaType For bad media types.
504505 */
505- public static MediaType valueOf (final String type ) {
506+ public static MediaType valueOf (final String type ) throws Err . BadMediaType {
506507 return parse (type ).get (0 );
507508 }
508509
@@ -530,12 +531,14 @@ public int hashCode() {
530531 result .add (all );
531532 } else {
532533 String [] typeAndSubtype = parts [0 ].split ("/" );
533- checkArgument (typeAndSubtype .length == 2 , "Bad media type found '%s' while parsing '%s'" ,
534- type , value );
534+ if (typeAndSubtype .length != 2 ) {
535+ throw new Err .BadMediaType (value );
536+ }
535537 String stype = typeAndSubtype [0 ].trim ();
536538 String subtype = typeAndSubtype [1 ].trim ();
537- checkArgument (!(stype .equals ("*" ) && !subtype .equals ("*" )),
538- "Bad media type found '%s' while parsing '%s'" , type , value );
539+ if ("*" .equals (stype ) && !"*" .equals (subtype )) {
540+ throw new Err .BadMediaType (value );
541+ }
539542 Map <String , String > parameters = DEFAULT_PARAMS ;
540543 if (parts .length > 1 ) {
541544 parameters = new LinkedHashMap <>(DEFAULT_PARAMS );
@@ -560,8 +563,9 @@ public int hashCode() {
560563 *
561564 * @param types Media types to parse.
562565 * @return An list of immutable {@link MediaType}.
566+ * @throws Err.BadMediaType For bad media types.
563567 */
564- public static List <MediaType > valueOf (final String ... types ) {
568+ public static List <MediaType > valueOf (final String ... types ) throws Err . BadMediaType {
565569 requireNonNull (types , "Types are required." );
566570 List <MediaType > result = new ArrayList <>();
567571 for (String type : types ) {
@@ -575,8 +579,9 @@ public static List<MediaType> valueOf(final String... types) {
575579 *
576580 * @param value The string separated by commas.
577581 * @return One ore more {@link MediaType}.
582+ * @throws Err.BadMediaType For bad media types.
578583 */
579- public static List <MediaType > parse (final String value ) {
584+ public static List <MediaType > parse (final String value ) throws Err . BadMediaType {
580585 return cache .computeIfAbsent (value , MediaType ::parseInternal );
581586 }
582587
0 commit comments