Package org.springframework.util
Class MimeTypeUtils
- java.lang.Object
- org.springframework.util.MimeTypeUtils
public abstract class MimeTypeUtils extends Object
MiscellaneousMimeType
utility methods.- Since:
- 4.0
- Author:
- Arjen Poutsma, Rossen Stoyanchev, Dimitrios Liapis, Brian Clozel, Sam Brannen
Field Summary
Fields Modifier and Type Field Description static MimeType
ALL
Public constant mime type that includes all media ranges (i.e.static String
ALL_VALUE
A String equivalent ofALL
.static MimeType
APPLICATION_JSON
Public constant mime type forapplication/json
.static String
APPLICATION_JSON_VALUE
A String equivalent ofAPPLICATION_JSON
.static MimeType
APPLICATION_OCTET_STREAM
Public constant mime type forapplication/octet-stream
.static String
APPLICATION_OCTET_STREAM_VALUE
A String equivalent ofAPPLICATION_OCTET_STREAM
.static MimeType
APPLICATION_XML
Public constant mime type forapplication/xml
.static String
APPLICATION_XML_VALUE
A String equivalent ofAPPLICATION_XML
.static MimeType
IMAGE_GIF
Public constant mime type forimage/gif
.static String
IMAGE_GIF_VALUE
A String equivalent ofIMAGE_GIF
.static MimeType
IMAGE_JPEG
Public constant mime type forimage/jpeg
.static String
IMAGE_JPEG_VALUE
A String equivalent ofIMAGE_JPEG
.static MimeType
IMAGE_PNG
Public constant mime type forimage/png
.static String
IMAGE_PNG_VALUE
A String equivalent ofIMAGE_PNG
.static Comparator<MimeType>
SPECIFICITY_COMPARATOR
Comparator used bysortBySpecificity(List)
.static MimeType
TEXT_HTML
Public constant mime type fortext/html
.static String
TEXT_HTML_VALUE
A String equivalent ofTEXT_HTML
.static MimeType
TEXT_PLAIN
Public constant mime type fortext/plain
.static String
TEXT_PLAIN_VALUE
A String equivalent ofTEXT_PLAIN
.static MimeType
TEXT_XML
Public constant mime type fortext/xml
.static String
TEXT_XML_VALUE
A String equivalent ofTEXT_XML
.
Constructor Summary
Constructors Constructor Description MimeTypeUtils()
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static byte[]
generateMultipartBoundary()
Generate a random MIME boundary as bytes, often used in multipart mime types.static String
generateMultipartBoundaryString()
Generate a random MIME boundary as String, often used in multipart mime types.static MimeType
parseMimeType(String mimeType)
Parse the given String into a singleMimeType
.static List<MimeType>
parseMimeTypes(String mimeTypes)
Parse the comma-separated string into a list ofMimeType
objects.static void
sortBySpecificity(List<MimeType> mimeTypes)
Sorts the given list ofMimeType
objects by specificity.static List<String>
tokenize(String mimeTypes)
Tokenize the given comma-separated string ofMimeType
objects into aList<String>
.static String
toString(Collection<? extends MimeType> mimeTypes)
Return a string representation of the given list ofMimeType
objects.
Field Detail
SPECIFICITY_COMPARATOR
public static final Comparator<MimeType> SPECIFICITY_COMPARATOR
Comparator used bysortBySpecificity(List)
.
ALL
public static final MimeType ALL
Public constant mime type that includes all media ranges (i.e. "*/*").
ALL_VALUE
public static final String ALL_VALUE
A String equivalent ofALL
.- See Also:
- Constant Field Values
APPLICATION_JSON
public static final MimeType APPLICATION_JSON
Public constant mime type forapplication/json
.
APPLICATION_JSON_VALUE
public static final String APPLICATION_JSON_VALUE
A String equivalent ofAPPLICATION_JSON
.- See Also:
- Constant Field Values
APPLICATION_OCTET_STREAM
public static final MimeType APPLICATION_OCTET_STREAM
Public constant mime type forapplication/octet-stream
.
APPLICATION_OCTET_STREAM_VALUE
public static final String APPLICATION_OCTET_STREAM_VALUE
A String equivalent ofAPPLICATION_OCTET_STREAM
.- See Also:
- Constant Field Values
APPLICATION_XML
public static final MimeType APPLICATION_XML
Public constant mime type forapplication/xml
.
APPLICATION_XML_VALUE
public static final String APPLICATION_XML_VALUE
A String equivalent ofAPPLICATION_XML
.- See Also:
- Constant Field Values
IMAGE_GIF_VALUE
public static final String IMAGE_GIF_VALUE
A String equivalent ofIMAGE_GIF
.- See Also:
- Constant Field Values
IMAGE_JPEG
public static final MimeType IMAGE_JPEG
Public constant mime type forimage/jpeg
.
IMAGE_JPEG_VALUE
public static final String IMAGE_JPEG_VALUE
A String equivalent ofIMAGE_JPEG
.- See Also:
- Constant Field Values
IMAGE_PNG_VALUE
public static final String IMAGE_PNG_VALUE
A String equivalent ofIMAGE_PNG
.- See Also:
- Constant Field Values
TEXT_HTML_VALUE
public static final String TEXT_HTML_VALUE
A String equivalent ofTEXT_HTML
.- See Also:
- Constant Field Values
TEXT_PLAIN
public static final MimeType TEXT_PLAIN
Public constant mime type fortext/plain
.
TEXT_PLAIN_VALUE
public static final String TEXT_PLAIN_VALUE
A String equivalent ofTEXT_PLAIN
.- See Also:
- Constant Field Values
TEXT_XML_VALUE
public static final String TEXT_XML_VALUE
A String equivalent ofTEXT_XML
.- See Also:
- Constant Field Values
Constructor Detail
MimeTypeUtils
public MimeTypeUtils()
Method Detail
parseMimeType
public static MimeType parseMimeType(String mimeType)
Parse the given String into a singleMimeType
. Recently parsedMimeType
are cached for further retrieval.- Parameters:
mimeType
- the string to parse- Returns:
- the mime type
- Throws:
InvalidMimeTypeException
- if the string cannot be parsed
parseMimeTypes
public static List<MimeType> parseMimeTypes(String mimeTypes)
Parse the comma-separated string into a list ofMimeType
objects.- Parameters:
mimeTypes
- the string to parse- Returns:
- the list of mime types
- Throws:
InvalidMimeTypeException
- if the string cannot be parsed
tokenize
public static List<String> tokenize(String mimeTypes)
Tokenize the given comma-separated string ofMimeType
objects into aList<String>
. Unlike simple tokenization by ",", this method takes into account quoted parameters.- Parameters:
mimeTypes
- the string to tokenize- Returns:
- the list of tokens
- Since:
- 5.1.3
toString
public static String toString(Collection<? extends MimeType> mimeTypes)
Return a string representation of the given list ofMimeType
objects.- Parameters:
mimeTypes
- the string to parse- Returns:
- the list of mime types
- Throws:
IllegalArgumentException
- if the String cannot be parsed
sortBySpecificity
public static void sortBySpecificity(List<MimeType> mimeTypes)
Sorts the given list ofMimeType
objects by specificity.Given two mime types:
- if either mime type has a wildcard type, then the mime type without the wildcard is ordered before the other.
- if the two mime types have different types, then they are considered equal and remain their current order.
- if either mime type has a wildcard subtype , then the mime type without the wildcard is sorted before the other.
- if the two mime types have different subtypes, then they are considered equal and remain their current order.
- if the two mime types have a different amount of parameters, then the mime type with the most parameters is ordered before the other.
For example:
audio/basic < audio/* < */*
audio/basic;level=1 < audio/basic
audio/basic == text/html
audio/basic == audio/wave
- Parameters:
mimeTypes
- the list of mime types to be sorted- See Also:
- HTTP 1.1: Semantics and Content, section 5.3.2
generateMultipartBoundary
public static byte[] generateMultipartBoundary()
Generate a random MIME boundary as bytes, often used in multipart mime types.
generateMultipartBoundaryString
public static String generateMultipartBoundaryString()
Generate a random MIME boundary as String, often used in multipart mime types.