|
|
|
@ -284,16 +284,15 @@ public class MediaType implements Comparable<MediaType> { |
|
|
|
* Create a new {@code MediaType} for the given type, subtype, and character set. |
|
|
|
* Create a new {@code MediaType} for the given type, subtype, and character set. |
|
|
|
* @param type the primary type |
|
|
|
* @param type the primary type |
|
|
|
* @param subtype the subtype |
|
|
|
* @param subtype the subtype |
|
|
|
* @param charSet the character set |
|
|
|
* @param charset the character set |
|
|
|
* @throws IllegalArgumentException if any of the parameters contain illegal characters |
|
|
|
* @throws IllegalArgumentException if any of the parameters contain illegal characters |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public MediaType(String type, String subtype, Charset charSet) { |
|
|
|
public MediaType(String type, String subtype, Charset charset) { |
|
|
|
this(type, subtype, Collections.singletonMap(PARAM_CHARSET, charSet.name())); |
|
|
|
this(type, subtype, Collections.singletonMap(PARAM_CHARSET, charset.name())); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* Create a new {@code MediaType} for the given type, subtype, and quality value. |
|
|
|
* Create a new {@code MediaType} for the given type, subtype, and quality value. |
|
|
|
* |
|
|
|
|
|
|
|
* @param type the primary type |
|
|
|
* @param type the primary type |
|
|
|
* @param subtype the subtype |
|
|
|
* @param subtype the subtype |
|
|
|
* @param qualityValue the quality value |
|
|
|
* @param qualityValue the quality value |
|
|
|
@ -774,18 +773,18 @@ public class MediaType implements Comparable<MediaType> { |
|
|
|
* Sorts the given list of {@code MediaType} objects by specificity. |
|
|
|
* Sorts the given list of {@code MediaType} objects by specificity. |
|
|
|
* <p>Given two media types: |
|
|
|
* <p>Given two media types: |
|
|
|
* <ol> |
|
|
|
* <ol> |
|
|
|
* <li>if either media type has a {@linkplain #isWildcardType() wildcard type}, then the media type without the |
|
|
|
* <li>if either media type has a {@linkplain #isWildcardType() wildcard type}, then the media type without the |
|
|
|
* wildcard is ordered before the other.</li> |
|
|
|
* wildcard is ordered before the other.</li> |
|
|
|
* <li>if the two media types have different {@linkplain #getType() types}, then they are considered equal and |
|
|
|
* <li>if the two media types have different {@linkplain #getType() types}, then they are considered equal and |
|
|
|
* remain their current order.</li> |
|
|
|
* remain their current order.</li> |
|
|
|
* <li>if either media type has a {@linkplain #isWildcardSubtype() wildcard subtype}, then the media type without |
|
|
|
* <li>if either media type has a {@linkplain #isWildcardSubtype() wildcard subtype}, then the media type without |
|
|
|
* the wildcard is sorted before the other.</li> |
|
|
|
* the wildcard is sorted before the other.</li> |
|
|
|
* <li>if the two media types have different {@linkplain #getSubtype() subtypes}, then they are considered equal |
|
|
|
* <li>if the two media types have different {@linkplain #getSubtype() subtypes}, then they are considered equal |
|
|
|
* and remain their current order.</li> |
|
|
|
* and remain their current order.</li> |
|
|
|
* <li>if the two media types have different {@linkplain #getQualityValue() quality value}, then the media type |
|
|
|
* <li>if the two media types have different {@linkplain #getQualityValue() quality value}, then the media type |
|
|
|
* with the highest quality value is ordered before the other.</li> |
|
|
|
* with the highest quality value is ordered before the other.</li> |
|
|
|
* <li>if the two media types have a different amount of {@linkplain #getParameter(String) parameters}, then the |
|
|
|
* <li>if the two media types have a different amount of {@linkplain #getParameter(String) parameters}, then the |
|
|
|
* media type with the most parameters is ordered before the other.</li> |
|
|
|
* media type with the most parameters is ordered before the other.</li> |
|
|
|
* </ol> |
|
|
|
* </ol> |
|
|
|
* <p>For example: |
|
|
|
* <p>For example: |
|
|
|
* <blockquote>audio/basic < audio/* < */*</blockquote> |
|
|
|
* <blockquote>audio/basic < audio/* < */*</blockquote> |
|
|
|
@ -807,18 +806,18 @@ public class MediaType implements Comparable<MediaType> { |
|
|
|
* Sorts the given list of {@code MediaType} objects by quality value. |
|
|
|
* Sorts the given list of {@code MediaType} objects by quality value. |
|
|
|
* <p>Given two media types: |
|
|
|
* <p>Given two media types: |
|
|
|
* <ol> |
|
|
|
* <ol> |
|
|
|
* <li>if the two media types have different {@linkplain #getQualityValue() quality value}, then the media type |
|
|
|
* <li>if the two media types have different {@linkplain #getQualityValue() quality value}, then the media type |
|
|
|
* with the highest quality value is ordered before the other.</li> |
|
|
|
* with the highest quality value is ordered before the other.</li> |
|
|
|
* <li>if either media type has a {@linkplain #isWildcardType() wildcard type}, then the media type without the |
|
|
|
* <li>if either media type has a {@linkplain #isWildcardType() wildcard type}, then the media type without the |
|
|
|
* wildcard is ordered before the other.</li> |
|
|
|
* wildcard is ordered before the other.</li> |
|
|
|
* <li>if the two media types have different {@linkplain #getType() types}, then they are considered equal and |
|
|
|
* <li>if the two media types have different {@linkplain #getType() types}, then they are considered equal and |
|
|
|
* remain their current order.</li> |
|
|
|
* remain their current order.</li> |
|
|
|
* <li>if either media type has a {@linkplain #isWildcardSubtype() wildcard subtype}, then the media type without |
|
|
|
* <li>if either media type has a {@linkplain #isWildcardSubtype() wildcard subtype}, then the media type without |
|
|
|
* the wildcard is sorted before the other.</li> |
|
|
|
* the wildcard is sorted before the other.</li> |
|
|
|
* <li>if the two media types have different {@linkplain #getSubtype() subtypes}, then they are considered equal |
|
|
|
* <li>if the two media types have different {@linkplain #getSubtype() subtypes}, then they are considered equal |
|
|
|
* and remain their current order.</li> |
|
|
|
* and remain their current order.</li> |
|
|
|
* <li>if the two media types have a different amount of {@linkplain #getParameter(String) parameters}, then the |
|
|
|
* <li>if the two media types have a different amount of {@linkplain #getParameter(String) parameters}, then the |
|
|
|
* media type with the most parameters is ordered before the other.</li> |
|
|
|
* media type with the most parameters is ordered before the other.</li> |
|
|
|
* </ol> |
|
|
|
* </ol> |
|
|
|
* @param mediaTypes the list of media types to be sorted |
|
|
|
* @param mediaTypes the list of media types to be sorted |
|
|
|
* @see #getQualityValue() |
|
|
|
* @see #getQualityValue() |
|
|
|
|