Package io.micronaut.http
Class MediaType
- java.lang.Object
-
- io.micronaut.http.MediaType
-
- All Implemented Interfaces:
java.lang.CharSequence
public class MediaType extends java.lang.Object implements java.lang.CharSequenceRepresents a media type. See https://www.iana.org/assignments/media-types/media-types.xhtml and https://tools.ietf.org/html/rfc2046- Since:
- 1.0
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringALLA wildcard media type representing all types.static MediaTypeALL_TYPEA wildcard media type representing all types.static java.lang.StringAPPLICATION_ATOM_XMLAtom: application/atom+xml.static MediaTypeAPPLICATION_ATOM_XML_TYPEAtom: application/atom+xml.static java.lang.StringAPPLICATION_FORM_URLENCODEDForm encoded data: application/x-www-form-urlencoded.static MediaTypeAPPLICATION_FORM_URLENCODED_TYPEForm encoded data: application/x-www-form-urlencoded.static java.lang.StringAPPLICATION_GRAPHQLGraphQL: application/graphql.static MediaTypeAPPLICATION_GRAPHQL_TYPEGraphQL: application/graphql.static java.lang.StringAPPLICATION_HAL_JSONHAL JSON: application/hal+json.static MediaTypeAPPLICATION_HAL_JSON_TYPEHAL JSON: application/hal+json.static java.lang.StringAPPLICATION_HAL_XMLHAL XML: application/hal+xml.static MediaTypeAPPLICATION_HAL_XML_TYPEHAL XML: application/hal+xml.static java.lang.StringAPPLICATION_JSONJSON: application/json.static java.lang.StringAPPLICATION_JSON_STREAMJSON Stream: application/x-json-stream.static MediaTypeAPPLICATION_JSON_STREAM_TYPEJSON Stream: application/x-json-stream.static MediaTypeAPPLICATION_JSON_TYPEJSON: application/json.static java.lang.StringAPPLICATION_OCTET_STREAMBINARY: application/octet-stream.static MediaTypeAPPLICATION_OCTET_STREAM_TYPEBINARY: application/octet-stream.static java.lang.StringAPPLICATION_PDFPDF: application/pdf.static MediaTypeAPPLICATION_PDF_TYPEPDF: application/pdf.static java.lang.StringAPPLICATION_VND_ERRORVND Error: application/vnd.error+json.static MediaTypeAPPLICATION_VND_ERROR_TYPEVND Error: application/vnd.error+json.static java.lang.StringAPPLICATION_XHTMLXHTML: application/xhtml+xml.static MediaTypeAPPLICATION_XHTML_TYPEXHTML: application/xhtml+xml.static java.lang.StringAPPLICATION_XMLXML: application/xml.static MediaTypeAPPLICATION_XML_TYPEXML: application/xml.static java.lang.StringAPPLICATION_YAMLYAML: application/x-yaml.static MediaTypeAPPLICATION_YAML_TYPEYAML: application/x-yaml.static java.lang.StringCHARSET_PARAMETERParameter"charset".static MediaType[]EMPTY_ARRAYDefault empty media type array.protected java.lang.Stringextensionstatic java.lang.StringEXTENSION_JSONDefault file extension used for JSON.static java.lang.StringEXTENSION_PDFDefault file extension used for PDF.static java.lang.StringEXTENSION_XLSFile extension for Microsoft Excel's workbook files in use between 97-2003.static java.lang.StringEXTENSION_XLSXFile extension used for Microsoft Excel Open XML Spreadsheet (XLSX).static java.lang.StringEXTENSION_XMLDefault file extension used for XML.static MediaTypeFORMShort cut forAPPLICATION_FORM_URLENCODED_TYPE.static java.lang.StringIMAGE_GIFGif Image: image/gif.static MediaTypeIMAGE_GIF_TYPEGif Image: image/gif.static java.lang.StringIMAGE_JPEGJpeg Image: image/jpeg.static MediaTypeIMAGE_JPEG_TYPEJpeg Image: image/jpeg.static java.lang.StringIMAGE_PNGPng Image: image/png.static MediaTypeIMAGE_PNG_TYPEPng Image: image/png.static java.lang.StringIMAGE_WEBPWebp Image: image/webp.static MediaTypeIMAGE_WEBP_TYPEWebp Image: image/webp.static java.lang.StringMICROSOFT_EXCELMicrosoft Excel's workbook files in use between 97-2003.static java.lang.StringMICROSOFT_EXCEL_OPEN_XMLXML: Microsoft Excel Open XML Spreadsheet (XLSX).static MediaTypeMICROSOFT_EXCEL_OPEN_XML_TYPEXML: Microsoft Excel Open XML Spreadsheet (XLSX).static MediaTypeMICROSOFT_EXCEL_TYPEMicrosoft Excel's workbook files in use between 97-2003.static java.lang.StringMULTIPART_FORM_DATAMulti part form data: multipart/form-data.static MediaTypeMULTIPART_FORM_DATA_TYPEMulti part form data: multipart/form-data.protected java.lang.Stringnameprotected java.util.Map<java.lang.CharSequence,java.lang.String>parametersstatic java.lang.StringQ_PARAMETERParameter"q".protected java.lang.Stringsubtypestatic java.lang.StringTEXT_CSVCSV: text/csv.static MediaTypeTEXT_CSV_TYPECSV: text/csv.static java.lang.StringTEXT_EVENT_STREAMServer Sent Event: text/event-stream.static MediaTypeTEXT_EVENT_STREAM_TYPEServer Sent Event: text/event-stream.static java.lang.StringTEXT_HTMLHTML: text/html.static MediaTypeTEXT_HTML_TYPEHTML: text/html.static java.lang.StringTEXT_JSONJSON: text/json.static MediaTypeTEXT_JSON_TYPEJSON: text/json.static java.lang.StringTEXT_PLAINPlain Text: text/plain.static MediaTypeTEXT_PLAIN_TYPEPlain Text: text/plain.static java.lang.StringTEXT_XMLXML: text/xml.static MediaTypeTEXT_XML_TYPEXML: text/xml.protected java.lang.Stringtypestatic java.lang.StringV_PARAMETERParameter"v".
-
Constructor Summary
Constructors Constructor Description MediaType(java.lang.String name)Constructs a new media type for the given string.MediaType(java.lang.String name, java.lang.String extension)Constructs a new media type for the given string and extension.MediaType(java.lang.String name, java.lang.String extension, java.util.Map<java.lang.String,java.lang.String> params)Constructs a new media type for the given string and extension.MediaType(java.lang.String name, java.util.Map<java.lang.String,java.lang.String> params)Constructs a new media type for the given string and parameters.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description charcharAt(int index)booleanequals(java.lang.Object o)static java.util.Optional<MediaType>forExtension(java.lang.String extension)Resolve theMediaTypefor the given file extension.static MediaTypeforFilename(java.lang.String filename)Resolve theMediaTypefor the given file name.static java.util.Optional<MediaType>fromType(java.lang.Class<?> type)java.util.Optional<java.nio.charset.Charset>getCharset()java.lang.StringgetExtension()java.lang.StringgetName()io.micronaut.core.value.OptionalValues<java.lang.String>getParameters()java.lang.StringgetQuality()java.math.BigDecimalgetQualityAsNumber()java.lang.StringgetSubtype()java.lang.StringgetType()java.lang.StringgetVersion()inthashCode()booleanisTextBased()static booleanisTextBased(java.lang.String contentType)intlength()booleanmatches(MediaType expectedContentType)Determine if this requested content type can be satisfied by a given content type.static MediaTypeof(java.lang.CharSequence mediaType)Create a newMediaTypefrom the given text.static MediaType[]of(java.lang.CharSequence... mediaType)Create a newMediaTypefrom the given text.static MediaTypeof(java.lang.String mediaType)Create a new or get aMediaTypefrom the given text.static java.util.List<MediaType>orderedOf(java.lang.CharSequence... values)Returns the ordered media types for the given values.static java.util.List<MediaType>orderedOf(java.util.List<? extends java.lang.CharSequence> values)Returns the ordered media types for the given values.java.lang.CharSequencesubSequence(int start, int end)java.lang.StringtoString()
-
-
-
Field Detail
-
EXTENSION_JSON
public static final java.lang.String EXTENSION_JSON
Default file extension used for JSON.- See Also:
- Constant Field Values
-
EXTENSION_XML
public static final java.lang.String EXTENSION_XML
Default file extension used for XML.- See Also:
- Constant Field Values
-
EXTENSION_PDF
public static final java.lang.String EXTENSION_PDF
Default file extension used for PDF.- See Also:
- Constant Field Values
-
EXTENSION_XLSX
public static final java.lang.String EXTENSION_XLSX
File extension used for Microsoft Excel Open XML Spreadsheet (XLSX).- See Also:
- Constant Field Values
-
EXTENSION_XLS
public static final java.lang.String EXTENSION_XLS
File extension for Microsoft Excel's workbook files in use between 97-2003.- See Also:
- Constant Field Values
-
EMPTY_ARRAY
public static final MediaType[] EMPTY_ARRAY
Default empty media type array.
-
ALL
public static final java.lang.String ALL
A wildcard media type representing all types.- See Also:
- Constant Field Values
-
ALL_TYPE
public static final MediaType ALL_TYPE
A wildcard media type representing all types.
-
APPLICATION_FORM_URLENCODED
public static final java.lang.String APPLICATION_FORM_URLENCODED
Form encoded data: application/x-www-form-urlencoded.- See Also:
- Constant Field Values
-
APPLICATION_FORM_URLENCODED_TYPE
public static final MediaType APPLICATION_FORM_URLENCODED_TYPE
Form encoded data: application/x-www-form-urlencoded.
-
FORM
public static final MediaType FORM
Short cut forAPPLICATION_FORM_URLENCODED_TYPE.
-
MULTIPART_FORM_DATA
public static final java.lang.String MULTIPART_FORM_DATA
Multi part form data: multipart/form-data.- See Also:
- Constant Field Values
-
MULTIPART_FORM_DATA_TYPE
public static final MediaType MULTIPART_FORM_DATA_TYPE
Multi part form data: multipart/form-data.
-
TEXT_HTML
public static final java.lang.String TEXT_HTML
HTML: text/html.- See Also:
- Constant Field Values
-
TEXT_HTML_TYPE
public static final MediaType TEXT_HTML_TYPE
HTML: text/html.
-
TEXT_CSV
public static final java.lang.String TEXT_CSV
CSV: text/csv.- See Also:
- Constant Field Values
-
TEXT_CSV_TYPE
public static final MediaType TEXT_CSV_TYPE
CSV: text/csv.
-
APPLICATION_XHTML
public static final java.lang.String APPLICATION_XHTML
XHTML: application/xhtml+xml.- See Also:
- Constant Field Values
-
APPLICATION_XHTML_TYPE
public static final MediaType APPLICATION_XHTML_TYPE
XHTML: application/xhtml+xml.
-
APPLICATION_XML
public static final java.lang.String APPLICATION_XML
XML: application/xml.- See Also:
- Constant Field Values
-
APPLICATION_XML_TYPE
public static final MediaType APPLICATION_XML_TYPE
XML: application/xml.
-
APPLICATION_JSON
public static final java.lang.String APPLICATION_JSON
JSON: application/json.- See Also:
- Constant Field Values
-
APPLICATION_JSON_TYPE
public static final MediaType APPLICATION_JSON_TYPE
JSON: application/json.
-
APPLICATION_YAML
public static final java.lang.String APPLICATION_YAML
YAML: application/x-yaml.- See Also:
- Constant Field Values
-
APPLICATION_YAML_TYPE
public static final MediaType APPLICATION_YAML_TYPE
YAML: application/x-yaml.
-
MICROSOFT_EXCEL_OPEN_XML
public static final java.lang.String MICROSOFT_EXCEL_OPEN_XML
XML: Microsoft Excel Open XML Spreadsheet (XLSX).- See Also:
- Constant Field Values
-
MICROSOFT_EXCEL_OPEN_XML_TYPE
public static final MediaType MICROSOFT_EXCEL_OPEN_XML_TYPE
XML: Microsoft Excel Open XML Spreadsheet (XLSX).
-
MICROSOFT_EXCEL
public static final java.lang.String MICROSOFT_EXCEL
Microsoft Excel's workbook files in use between 97-2003.- See Also:
- Constant Field Values
-
MICROSOFT_EXCEL_TYPE
public static final MediaType MICROSOFT_EXCEL_TYPE
Microsoft Excel's workbook files in use between 97-2003.
-
TEXT_XML
public static final java.lang.String TEXT_XML
XML: text/xml.- See Also:
- Constant Field Values
-
TEXT_XML_TYPE
public static final MediaType TEXT_XML_TYPE
XML: text/xml.
-
TEXT_JSON
public static final java.lang.String TEXT_JSON
JSON: text/json.- See Also:
- Constant Field Values
-
TEXT_JSON_TYPE
public static final MediaType TEXT_JSON_TYPE
JSON: text/json.
-
TEXT_PLAIN
public static final java.lang.String TEXT_PLAIN
Plain Text: text/plain.- See Also:
- Constant Field Values
-
TEXT_PLAIN_TYPE
public static final MediaType TEXT_PLAIN_TYPE
Plain Text: text/plain.
-
APPLICATION_HAL_JSON
public static final java.lang.String APPLICATION_HAL_JSON
HAL JSON: application/hal+json.- See Also:
- Constant Field Values
-
APPLICATION_HAL_JSON_TYPE
public static final MediaType APPLICATION_HAL_JSON_TYPE
HAL JSON: application/hal+json.
-
APPLICATION_HAL_XML
public static final java.lang.String APPLICATION_HAL_XML
HAL XML: application/hal+xml.- See Also:
- Constant Field Values
-
APPLICATION_HAL_XML_TYPE
public static final MediaType APPLICATION_HAL_XML_TYPE
HAL XML: application/hal+xml.
-
APPLICATION_ATOM_XML
public static final java.lang.String APPLICATION_ATOM_XML
Atom: application/atom+xml.- See Also:
- Constant Field Values
-
APPLICATION_ATOM_XML_TYPE
public static final MediaType APPLICATION_ATOM_XML_TYPE
Atom: application/atom+xml.
-
APPLICATION_VND_ERROR
public static final java.lang.String APPLICATION_VND_ERROR
VND Error: application/vnd.error+json.- See Also:
- Constant Field Values
-
APPLICATION_VND_ERROR_TYPE
public static final MediaType APPLICATION_VND_ERROR_TYPE
VND Error: application/vnd.error+json.
-
TEXT_EVENT_STREAM
public static final java.lang.String TEXT_EVENT_STREAM
Server Sent Event: text/event-stream.- See Also:
- Constant Field Values
-
TEXT_EVENT_STREAM_TYPE
public static final MediaType TEXT_EVENT_STREAM_TYPE
Server Sent Event: text/event-stream.
-
APPLICATION_JSON_STREAM
public static final java.lang.String APPLICATION_JSON_STREAM
JSON Stream: application/x-json-stream.- See Also:
- Constant Field Values
-
APPLICATION_JSON_STREAM_TYPE
public static final MediaType APPLICATION_JSON_STREAM_TYPE
JSON Stream: application/x-json-stream.
-
APPLICATION_OCTET_STREAM
public static final java.lang.String APPLICATION_OCTET_STREAM
BINARY: application/octet-stream.- See Also:
- Constant Field Values
-
APPLICATION_OCTET_STREAM_TYPE
public static final MediaType APPLICATION_OCTET_STREAM_TYPE
BINARY: application/octet-stream.
-
APPLICATION_GRAPHQL
public static final java.lang.String APPLICATION_GRAPHQL
GraphQL: application/graphql.- See Also:
- Constant Field Values
-
APPLICATION_GRAPHQL_TYPE
public static final MediaType APPLICATION_GRAPHQL_TYPE
GraphQL: application/graphql.
-
APPLICATION_PDF
public static final java.lang.String APPLICATION_PDF
PDF: application/pdf.- See Also:
- Constant Field Values
-
APPLICATION_PDF_TYPE
public static final MediaType APPLICATION_PDF_TYPE
PDF: application/pdf.
-
IMAGE_PNG
public static final java.lang.String IMAGE_PNG
Png Image: image/png.- See Also:
- Constant Field Values
-
IMAGE_PNG_TYPE
public static final MediaType IMAGE_PNG_TYPE
Png Image: image/png.
-
IMAGE_JPEG
public static final java.lang.String IMAGE_JPEG
Jpeg Image: image/jpeg.- See Also:
- Constant Field Values
-
IMAGE_JPEG_TYPE
public static final MediaType IMAGE_JPEG_TYPE
Jpeg Image: image/jpeg.
-
IMAGE_GIF
public static final java.lang.String IMAGE_GIF
Gif Image: image/gif.- See Also:
- Constant Field Values
-
IMAGE_GIF_TYPE
public static final MediaType IMAGE_GIF_TYPE
Gif Image: image/gif.
-
IMAGE_WEBP
public static final java.lang.String IMAGE_WEBP
Webp Image: image/webp.- See Also:
- Constant Field Values
-
IMAGE_WEBP_TYPE
public static final MediaType IMAGE_WEBP_TYPE
Webp Image: image/webp.
-
CHARSET_PARAMETER
public static final java.lang.String CHARSET_PARAMETER
Parameter"charset".- See Also:
- Constant Field Values
-
Q_PARAMETER
public static final java.lang.String Q_PARAMETER
Parameter"q".- See Also:
- Constant Field Values
-
V_PARAMETER
public static final java.lang.String V_PARAMETER
Parameter"v".- See Also:
- Constant Field Values
-
name
protected final java.lang.String name
-
subtype
protected final java.lang.String subtype
-
type
protected final java.lang.String type
-
extension
protected final java.lang.String extension
-
parameters
protected final java.util.Map<java.lang.CharSequence,java.lang.String> parameters
-
-
Constructor Detail
-
MediaType
public MediaType(java.lang.String name)
Constructs a new media type for the given string.- Parameters:
name- The name of the media type. For example application/json
-
MediaType
public MediaType(java.lang.String name, java.util.Map<java.lang.String,java.lang.String> params)Constructs a new media type for the given string and parameters.- Parameters:
name- The name of the media type. For example application/jsonparams- The parameters
-
MediaType
public MediaType(java.lang.String name, java.lang.String extension)Constructs a new media type for the given string and extension.- Parameters:
name- The name of the media type. For example application/jsonextension- The extension of the file using this media type if it differs from the subtype
-
MediaType
public MediaType(java.lang.String name, java.lang.String extension, java.util.Map<java.lang.String,java.lang.String> params)Constructs a new media type for the given string and extension.- Parameters:
name- The name of the media type. For example application/jsonextension- The extension of the file using this media type if it differs from the subtypeparams- The parameters
-
-
Method Detail
-
of
public static MediaType of(java.lang.String mediaType)
Create a new or get aMediaTypefrom the given text.- Parameters:
mediaType- The text- Returns:
- The
MediaType
-
matches
public boolean matches(@NonNull MediaType expectedContentType)Determine if this requested content type can be satisfied by a given content type. e.g. text/* will be satisfied by test/html.- Parameters:
expectedContentType- Content type to match against- Returns:
- if successful match
-
getName
public java.lang.String getName()
- Returns:
- The name of the mime type without any parameters
-
getType
public java.lang.String getType()
- Returns:
- The type of the media type. For example for application/hal+json this would return "application"
-
getSubtype
public java.lang.String getSubtype()
- Returns:
- The subtype. For example for application/hal+json this would return "hal+json"
-
getExtension
public java.lang.String getExtension()
- Returns:
- The extension. For example for application/hal+json this would return "json"
-
getParameters
public io.micronaut.core.value.OptionalValues<java.lang.String> getParameters()
- Returns:
- The parameters to the media type
-
getQuality
public java.lang.String getQuality()
- Returns:
- The quality of the Mime type
-
getQualityAsNumber
public java.math.BigDecimal getQualityAsNumber()
- Returns:
- The quality in BigDecimal form
-
getVersion
public java.lang.String getVersion()
- Returns:
- The version of the Mime type
-
getCharset
public java.util.Optional<java.nio.charset.Charset> getCharset()
- Returns:
- The charset of the media type if specified
-
length
public int length()
- Specified by:
lengthin interfacejava.lang.CharSequence
-
charAt
public char charAt(int index)
- Specified by:
charAtin interfacejava.lang.CharSequence
-
subSequence
public java.lang.CharSequence subSequence(int start, int end)- Specified by:
subSequencein interfacejava.lang.CharSequence
-
isTextBased
public boolean isTextBased()
- Returns:
- Whether the media type is text based
-
isTextBased
public static boolean isTextBased(java.lang.String contentType)
- Parameters:
contentType- The content type- Returns:
- Whether the content type is text based
-
toString
public java.lang.String toString()
- Specified by:
toStringin interfacejava.lang.CharSequence- Overrides:
toStringin classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)
Only the name is matched. Parameters are not included.
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
orderedOf
public static java.util.List<MediaType> orderedOf(java.lang.CharSequence... values)
Returns the ordered media types for the given values.- Parameters:
values- The values- Returns:
- The media types.
- Since:
- 1.3.3
-
orderedOf
public static java.util.List<MediaType> orderedOf(java.util.List<? extends java.lang.CharSequence> values)
Returns the ordered media types for the given values.- Parameters:
values- The values- Returns:
- The media types.
- Since:
- 1.3.3
-
of
public static MediaType of(java.lang.CharSequence mediaType)
Create a newMediaTypefrom the given text.- Parameters:
mediaType- The text- Returns:
- The
MediaType
-
of
public static MediaType[] of(java.lang.CharSequence... mediaType)
Create a newMediaTypefrom the given text.- Parameters:
mediaType- The text- Returns:
- The
MediaType
-
fromType
public static java.util.Optional<MediaType> fromType(java.lang.Class<?> type)
- Parameters:
type- The type- Returns:
- An
OptionalMediaType
-
forExtension
public static java.util.Optional<MediaType> forExtension(java.lang.String extension)
Resolve theMediaTypefor the given file extension.- Parameters:
extension- The file extension- Returns:
- The
MediaType
-
-