Class MediaType
- java.lang.Object
-
- com.google.common.net.MediaType
-
@Beta @GwtCompatible @Immutable public final class MediaType extends Object
Represents an Internet Media Type (also known as a MIME Type or Content Type). This class also supports the concept of media ranges defined by HTTP/1.1. As such, the*character is treated as a wildcard and is used to represent any acceptable type or subtype value. A media type may not have wildcard type with a declared subtype. The*character has no special meaning as part of a parameter. All values for type, subtype, parameter attributes or parameter values must be valid according to RFCs 2045 and 2046.All portions of the media type that are case-insensitive (type, subtype, parameter attributes) are normalized to lowercase. The value of the
charsetparameter is normalized to lowercase, but all others are left as-is.Note that this specifically does not represent the value of the MIME
Content-Typeheader and as such has no support for header-specific considerations such as line folding and comments.For media types that take a charset the predefined constants default to UTF-8 and have a "_UTF_8" suffix. To get a version without a character set, use
withoutParameters().- Since:
- 12.0
- Author:
- Gregory Kick
-
-
Field Summary
Fields Modifier and Type Field Description static MediaTypeAAC_AUDIOAdvanced Audio Coding.static MediaTypeANY_APPLICATION_TYPEstatic MediaTypeANY_AUDIO_TYPEstatic MediaTypeANY_FONT_TYPEWildcard matching any "font" top-level media type.static MediaTypeANY_IMAGE_TYPEstatic MediaTypeANY_TEXT_TYPEstatic MediaTypeANY_TYPEstatic MediaTypeANY_VIDEO_TYPEstatic MediaTypeAPPLE_MOBILE_CONFIGstatic MediaTypeAPPLE_PASSBOOKstatic MediaTypeAPPLICATION_BINARYThis is a non-standard media type, but is commonly used in serving hosted binary files as it is known not to trigger content sniffing in current browsers.static MediaTypeAPPLICATION_XML_UTF_8static MediaTypeATOM_UTF_8static MediaTypeBASIC_AUDIOBasic Audio, as defined by RFC 2046.static MediaTypeBMPBitmap file format (bmpfiles).static MediaTypeBZIP2static MediaTypeCACHE_MANIFEST_UTF_8static MediaTypeCRWThe Canon Image File Format (crwfiles), a widely-used "raw image" format for cameras.static MediaTypeCSS_UTF_8static MediaTypeCSV_UTF_8static MediaTypeDART_UTF_8Files in the dart programming language.static MediaTypeEOTEmbedded OpenType fonts.static MediaTypeEPUBAs described in the International Digital Publishing Forum EPUB is the distribution and interchange format standard for digital publications and documents.static MediaTypeFLV_VIDEOFlash video.static MediaTypeFONT_COLLECTIONA collection of font outlines as defined by RFC 8081.static MediaTypeFONT_OTFOpen Type Font Format (OTF) as defined by RFC 8081.static MediaTypeFONT_SFNTSpline or Scalable Font Format (SFNT).static MediaTypeFONT_TTFTrue Type Font Format (TTF) as defined by RFC 8081.static MediaTypeFONT_WOFFWeb Open Font Format (WOFF).static MediaTypeFONT_WOFF2Web Open Font Format (WOFF2).static MediaTypeFORM_DATAstatic MediaTypeGEO_JSONMedia type for the GeoJSON Format, a geospatial data interchange format based on JSON.static MediaTypeGIFstatic MediaTypeGZIPstatic MediaTypeHAL_JSONstatic MediaTypeHEIFstatic MediaTypeHTML_UTF_8static MediaTypeI_CALENDAR_UTF_8static MediaTypeICOstatic MediaTypeJAVASCRIPT_UTF_8RFC 4329 declares this to be the correct media type for JavaScript, buttext/javascriptmay be necessary in certain situations for compatibility.static MediaTypeJOSEstatic MediaTypeJOSE_JSONstatic MediaTypeJP2Kstatic MediaTypeJPEGstatic MediaTypeJSON_UTF_8static MediaTypeKEY_ARCHIVEAs described in PKCS #12: Personal Information Exchange Syntax Standard, PKCS #12 defines an archive file format for storing many cryptography objects as a single file.static MediaTypeKMLstatic MediaTypeKMZOGC KML (Keyhole Markup Language), compressed using the ZIP format into KMZ archives.static MediaTypeL16_AUDIOL16 audio, as defined by RFC 2586.static MediaTypeL24_AUDIOL24 audio, as defined by RFC 3190.static MediaTypeMANIFEST_JSON_UTF_8static MediaTypeMBOXThe mbox database format.static MediaTypeMEDIA_PRESENTATION_DESCRIPTIONMedia type for Dynamic Adaptive Streaming over HTTP (DASH).static MediaTypeMICROSOFT_EXCELMicrosoft Excel spreadsheets.static MediaTypeMICROSOFT_OUTLOOKMicrosoft Outlook items.static MediaTypeMICROSOFT_POWERPOINTMicrosoft Powerpoint presentations.static MediaTypeMICROSOFT_WORDMicrosoft Word documents.static MediaTypeMP4_AUDIOstatic MediaTypeMP4_VIDEOstatic MediaTypeMPEG_AUDIOstatic MediaTypeMPEG_VIDEOstatic MediaTypeNACL_APPLICATIONNaCl applications.static MediaTypeNACL_PORTABLE_APPLICATIONNaCl portable applications.static MediaTypeOCTET_STREAMstatic MediaTypeOGG_AUDIOstatic MediaTypeOGG_CONTAINERstatic MediaTypeOGG_VIDEOstatic MediaTypeOOXML_DOCUMENTstatic MediaTypeOOXML_PRESENTATIONstatic MediaTypeOOXML_SHEETstatic MediaTypeOPENDOCUMENT_GRAPHICSstatic MediaTypeOPENDOCUMENT_PRESENTATIONstatic MediaTypeOPENDOCUMENT_SPREADSHEETstatic MediaTypeOPENDOCUMENT_TEXTstatic MediaTypeOPENSEARCH_DESCRIPTION_UTF_8OpenSearch Description files are XML files that describe how a website can be used as a search engine by consumers (e.g.static MediaTypePDFstatic MediaTypePLAIN_TEXT_UTF_8static MediaTypePNGstatic MediaTypePOSTSCRIPTstatic MediaTypePROTOBUFstatic MediaTypePSDstatic MediaTypeQUICKTIMEstatic MediaTypeRDF_XML_UTF_8RDF/XML documents, which are XML serializations of Resource Description Framework graphs.static MediaTypeRTF_UTF_8static MediaTypeSFNTstatic MediaTypeSHOCKWAVE_FLASHstatic MediaTypeSKETCHUPskpfiles produced by the 3D Modeling software SketchUpstatic MediaTypeSOAP_XML_UTF_8As described in RFC 3902, this constant (application/soap+xml) is used to identify SOAP 1.2 message envelopes that have been serialized with XML 1.0.static MediaTypeSVG_UTF_8static MediaTypeTARstatic MediaTypeTEXT_JAVASCRIPT_UTF_8RFC 4329 declaresapplication/javascriptto be the correct media type for JavaScript, but this may be necessary in certain situations for compatibility.static MediaTypeTHREE_GPP_VIDEOThe 3GP multimedia container format.static MediaTypeTHREE_GPP2_VIDEOThe 3G2 multimedia container format.static MediaTypeTIFFstatic MediaTypeTSV_UTF_8static MediaTypeVCARD_UTF_8static MediaTypeVND_REAL_AUDIOReal Audio.static MediaTypeVND_WAVE_AUDIOWAVE format, as defined by RFC 2361.static MediaTypeVORBIS_AUDIOVorbis Audio, as defined by RFC 5215.static MediaTypeVTT_UTF_8As described in the VTT spec, this is used for Web Video Text Tracks (WebVTT) files, used with the HTML5 track element.static MediaTypeWASM_APPLICATIONWASM applications.static MediaTypeWAX_AUDIOWindows Media metafiles.static MediaTypeWEBM_AUDIOstatic MediaTypeWEBM_VIDEOstatic MediaTypeWEBPstatic MediaTypeWMA_AUDIOWindows Media Audio.static MediaTypeWML_UTF_8UTF-8 encoded Wireless Markup Language.static MediaTypeWMVstatic MediaTypeWOFFstatic MediaTypeWOFF2RFC 8081 declaresfont/woff2to be the correct media type for WOFF2, but this may be necessary in certain situations for compatibility.static MediaTypeXHTML_UTF_8static MediaTypeXML_UTF_8As described in RFC 3023, this constant (text/xml) is used for XML documents that are "readable by casual users."APPLICATION_XML_UTF_8is provided for documents that are intended for applications.static MediaTypeXRD_UTF_8Extensible Resource Descriptors.static MediaTypeZIP
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Optional<Charset>charset()Returns an optional charset for the value of the charset parameter if it is specified.static MediaTypecreate(String type, String subtype)Creates a new media type with the given type and subtype.booleanequals(@Nullable Object obj)Indicates whether some other object is "equal to" this one.inthashCode()Returns a hash code value for the object.booleanhasWildcard()Returns true if either the type or subtype is the wildcard.booleanis(MediaType mediaTypeRange)Returnstrueif this instance falls within the range (as defined by the HTTP Accept header) given by the argument according to three criteria: The type of the argument is the wildcard or equal to the type of this instance.ImmutableListMultimap<String,String>parameters()Returns a multimap containing the parameters of this media type.static MediaTypeparse(String input)Parses a media type from its string representation.Stringsubtype()Returns the media subtype.StringtoString()Returns the string representation of this media type in the format described in RFC 2045.Stringtype()Returns the top-level media type.MediaTypewithCharset(Charset charset)Returns a new instance with the same type and subtype as this instance, with thecharsetparameter set to thenameof the given charset.MediaTypewithoutParameters()Returns a new instance with the same type and subtype as this instance, but without any parameters.MediaTypewithParameter(String attribute, String value)Replaces all parameters with the given attribute with a single parameter with the given value.MediaTypewithParameters(Multimap<String,String> parameters)Replaces all parameters with the given parameters.MediaTypewithParameters(String attribute, Iterable<String> values)Replaces all parameters with the given attribute with parameters using the given values.
-
-
-
Field Detail
-
ANY_TEXT_TYPE
public static final MediaType ANY_TEXT_TYPE
-
ANY_IMAGE_TYPE
public static final MediaType ANY_IMAGE_TYPE
-
ANY_AUDIO_TYPE
public static final MediaType ANY_AUDIO_TYPE
-
ANY_VIDEO_TYPE
public static final MediaType ANY_VIDEO_TYPE
-
ANY_APPLICATION_TYPE
public static final MediaType ANY_APPLICATION_TYPE
-
ANY_FONT_TYPE
public static final MediaType ANY_FONT_TYPE
Wildcard matching any "font" top-level media type.- Since:
- 30.0
-
CACHE_MANIFEST_UTF_8
public static final MediaType CACHE_MANIFEST_UTF_8
-
HTML_UTF_8
public static final MediaType HTML_UTF_8
-
I_CALENDAR_UTF_8
public static final MediaType I_CALENDAR_UTF_8
-
PLAIN_TEXT_UTF_8
public static final MediaType PLAIN_TEXT_UTF_8
-
TEXT_JAVASCRIPT_UTF_8
public static final MediaType TEXT_JAVASCRIPT_UTF_8
RFC 4329 declaresapplication/javascriptto be the correct media type for JavaScript, but this may be necessary in certain situations for compatibility.
-
VCARD_UTF_8
public static final MediaType VCARD_UTF_8
-
WML_UTF_8
public static final MediaType WML_UTF_8
UTF-8 encoded Wireless Markup Language.- Since:
- 13.0
-
XML_UTF_8
public static final MediaType XML_UTF_8
As described in RFC 3023, this constant (text/xml) is used for XML documents that are "readable by casual users."APPLICATION_XML_UTF_8is provided for documents that are intended for applications.
-
VTT_UTF_8
public static final MediaType VTT_UTF_8
As described in the VTT spec, this is used for Web Video Text Tracks (WebVTT) files, used with the HTML5 track element.- Since:
- 20.0
-
BMP
public static final MediaType BMP
Bitmap file format (bmpfiles).- Since:
- 13.0
-
CRW
public static final MediaType CRW
The Canon Image File Format (crwfiles), a widely-used "raw image" format for cameras. It is found in/etc/mime.types, e.g. in Debian 3.48-1.- Since:
- 15.0
-
PSD
public static final MediaType PSD
The Photoshop File Format (psdfiles) as defined by IANA, and found in/etc/mime.types, e.g. of the Apache HTTPD project; for the specification, see Adobe Photoshop Document Format and Wikipedia; this is the regular output/input of Photoshop (which can also export to various image formats; note that files with extension "PSB" are in a distinct but related format).This is a more recent replacement for the older, experimental type
x-photoshop: RFC-2046.6.- Since:
- 15.0
-
MPEG_AUDIO
public static final MediaType MPEG_AUDIO
-
WEBM_AUDIO
public static final MediaType WEBM_AUDIO
-
BASIC_AUDIO
public static final MediaType BASIC_AUDIO
Basic Audio, as defined by RFC 2046.- Since:
- 20.0
-
AAC_AUDIO
public static final MediaType AAC_AUDIO
Advanced Audio Coding. For more information, see Advanced Audio Coding.- Since:
- 20.0
-
VORBIS_AUDIO
public static final MediaType VORBIS_AUDIO
Vorbis Audio, as defined by RFC 5215.- Since:
- 20.0
-
WMA_AUDIO
public static final MediaType WMA_AUDIO
Windows Media Audio. For more information, see file name extensions for Windows Media metafiles.- Since:
- 20.0
-
WAX_AUDIO
public static final MediaType WAX_AUDIO
Windows Media metafiles. For more information, see file name extensions for Windows Media metafiles.- Since:
- 20.0
-
VND_REAL_AUDIO
public static final MediaType VND_REAL_AUDIO
Real Audio. For more information, see this link.- Since:
- 20.0
-
VND_WAVE_AUDIO
public static final MediaType VND_WAVE_AUDIO
WAVE format, as defined by RFC 2361.- Since:
- 20.0
-
MPEG_VIDEO
public static final MediaType MPEG_VIDEO
-
WEBM_VIDEO
public static final MediaType WEBM_VIDEO
-
FLV_VIDEO
public static final MediaType FLV_VIDEO
Flash video. For more information, see this link.- Since:
- 20.0
-
THREE_GPP_VIDEO
public static final MediaType THREE_GPP_VIDEO
The 3GP multimedia container format. For more information, see 3GPP TS 26.244.- Since:
- 20.0
-
THREE_GPP2_VIDEO
public static final MediaType THREE_GPP2_VIDEO
The 3G2 multimedia container format. For more information, see 3GPP2 C.S0050-B.- Since:
- 20.0
-
APPLICATION_XML_UTF_8
public static final MediaType APPLICATION_XML_UTF_8
As described in RFC 3023, this constant (application/xml) is used for XML documents that are "unreadable by casual users."XML_UTF_8is provided for documents that may be read by users.- Since:
- 14.0
-
ATOM_UTF_8
public static final MediaType ATOM_UTF_8
-
DART_UTF_8
public static final MediaType DART_UTF_8
Files in the dart programming language.- Since:
- 19.0
-
APPLE_PASSBOOK
public static final MediaType APPLE_PASSBOOK
- Since:
- 19.0
-
EOT
public static final MediaType EOT
Embedded OpenType fonts. This is registered with the IANA.- Since:
- 17.0
-
EPUB
public static final MediaType EPUB
As described in the International Digital Publishing Forum EPUB is the distribution and interchange format standard for digital publications and documents. This media type is defined in the EPUB Open Container Format specification.- Since:
- 15.0
-
KEY_ARCHIVE
public static final MediaType KEY_ARCHIVE
As described in PKCS #12: Personal Information Exchange Syntax Standard, PKCS #12 defines an archive file format for storing many cryptography objects as a single file.- Since:
- 15.0
-
APPLICATION_BINARY
public static final MediaType APPLICATION_BINARY
This is a non-standard media type, but is commonly used in serving hosted binary files as it is known not to trigger content sniffing in current browsers. It should not be used in other situations as it is not specified by any RFC and does not appear in the /IANA MIME Media Types list. ConsiderOCTET_STREAMfor binary data that is not being served to a browser.- Since:
- 14.0
-
GEO_JSON
public static final MediaType GEO_JSON
Media type for the GeoJSON Format, a geospatial data interchange format based on JSON.- Since:
- 28.0
-
JAVASCRIPT_UTF_8
public static final MediaType JAVASCRIPT_UTF_8
RFC 4329 declares this to be the correct media type for JavaScript, buttext/javascriptmay be necessary in certain situations for compatibility.
-
JSON_UTF_8
public static final MediaType JSON_UTF_8
-
MANIFEST_JSON_UTF_8
public static final MediaType MANIFEST_JSON_UTF_8
- Since:
- 19.0
-
KMZ
public static final MediaType KMZ
OGC KML (Keyhole Markup Language), compressed using the ZIP format into KMZ archives.
-
MBOX
public static final MediaType MBOX
The mbox database format.- Since:
- 13.0
-
APPLE_MOBILE_CONFIG
public static final MediaType APPLE_MOBILE_CONFIG
- Since:
- 18.0
-
MICROSOFT_EXCEL
public static final MediaType MICROSOFT_EXCEL
Microsoft Excel spreadsheets.
-
MICROSOFT_OUTLOOK
public static final MediaType MICROSOFT_OUTLOOK
Microsoft Outlook items.- Since:
- 27.1
-
MICROSOFT_POWERPOINT
public static final MediaType MICROSOFT_POWERPOINT
Microsoft Powerpoint presentations.
-
MICROSOFT_WORD
public static final MediaType MICROSOFT_WORD
Microsoft Word documents.
-
MEDIA_PRESENTATION_DESCRIPTION
public static final MediaType MEDIA_PRESENTATION_DESCRIPTION
Media type for Dynamic Adaptive Streaming over HTTP (DASH). This is registered with the IANA.- Since:
- 28.2
-
WASM_APPLICATION
public static final MediaType WASM_APPLICATION
WASM applications. For more information see the Web Assembly overview.- Since:
- 27.0
-
NACL_APPLICATION
public static final MediaType NACL_APPLICATION
NaCl applications. For more information see the Developer Guide for Native Client Application Structure.- Since:
- 20.0
-
NACL_PORTABLE_APPLICATION
public static final MediaType NACL_PORTABLE_APPLICATION
NaCl portable applications. For more information see the Developer Guide for Native Client Application Structure.- Since:
- 20.0
-
OCTET_STREAM
public static final MediaType OCTET_STREAM
-
OGG_CONTAINER
public static final MediaType OGG_CONTAINER
-
OOXML_DOCUMENT
public static final MediaType OOXML_DOCUMENT
-
OOXML_PRESENTATION
public static final MediaType OOXML_PRESENTATION
-
OOXML_SHEET
public static final MediaType OOXML_SHEET
-
OPENDOCUMENT_GRAPHICS
public static final MediaType OPENDOCUMENT_GRAPHICS
-
OPENDOCUMENT_PRESENTATION
public static final MediaType OPENDOCUMENT_PRESENTATION
-
OPENDOCUMENT_SPREADSHEET
public static final MediaType OPENDOCUMENT_SPREADSHEET
-
OPENDOCUMENT_TEXT
public static final MediaType OPENDOCUMENT_TEXT
-
OPENSEARCH_DESCRIPTION_UTF_8
public static final MediaType OPENSEARCH_DESCRIPTION_UTF_8
OpenSearch Description files are XML files that describe how a website can be used as a search engine by consumers (e.g. web browsers).- Since:
- 28.2
-
POSTSCRIPT
public static final MediaType POSTSCRIPT
-
RDF_XML_UTF_8
public static final MediaType RDF_XML_UTF_8
RDF/XML documents, which are XML serializations of Resource Description Framework graphs.- Since:
- 14.0
-
SFNT
public static final MediaType SFNT
RFC 8081 declaresfont/sfntto be the correct media type for SFNT, but this may be necessary in certain situations for compatibility.- Since:
- 17.0
-
SHOCKWAVE_FLASH
public static final MediaType SHOCKWAVE_FLASH
-
SKETCHUP
public static final MediaType SKETCHUP
skpfiles produced by the 3D Modeling software SketchUp- Since:
- 13.0
-
SOAP_XML_UTF_8
public static final MediaType SOAP_XML_UTF_8
As described in RFC 3902, this constant (application/soap+xml) is used to identify SOAP 1.2 message envelopes that have been serialized with XML 1.0.For SOAP 1.1 messages, see
XML_UTF_8per W3C Note on Simple Object Access Protocol (SOAP) 1.1- Since:
- 20.0
-
WOFF
public static final MediaType WOFF
RFC 8081 declaresfont/woffto be the correct media type for WOFF, but this may be necessary in certain situations for compatibility.- Since:
- 17.0
-
WOFF2
public static final MediaType WOFF2
RFC 8081 declaresfont/woff2to be the correct media type for WOFF2, but this may be necessary in certain situations for compatibility.- Since:
- 20.0
-
XHTML_UTF_8
public static final MediaType XHTML_UTF_8
-
XRD_UTF_8
public static final MediaType XRD_UTF_8
Extensible Resource Descriptors. This is not yet registered with the IANA, but it is specified by OASIS in the XRD definition and implemented in projects such as WebFinger.- Since:
- 14.0
-
FONT_COLLECTION
public static final MediaType FONT_COLLECTION
A collection of font outlines as defined by RFC 8081.- Since:
- 30.0
-
FONT_OTF
public static final MediaType FONT_OTF
Open Type Font Format (OTF) as defined by RFC 8081.- Since:
- 30.0
-
FONT_SFNT
public static final MediaType FONT_SFNT
Spline or Scalable Font Format (SFNT). RFC 8081 declares this to be the correct media type for SFNT, butapplication/font-sfntmay be necessary in certain situations for compatibility.- Since:
- 30.0
-
FONT_TTF
public static final MediaType FONT_TTF
True Type Font Format (TTF) as defined by RFC 8081.- Since:
- 30.0
-
FONT_WOFF
public static final MediaType FONT_WOFF
Web Open Font Format (WOFF). RFC 8081 declares this to be the correct media type for SFNT, butapplication/font-woffmay be necessary in certain situations for compatibility.- Since:
- 30.0
-
FONT_WOFF2
public static final MediaType FONT_WOFF2
Web Open Font Format (WOFF2). RFC 8081 declares this to be the correct media type for SFNT, butapplication/font-woff2may be necessary in certain situations for compatibility.- Since:
- 30.0
-
-
Method Detail
-
parameters
public ImmutableListMultimap<String,String> parameters()
Returns a multimap containing the parameters of this media type.
-
charset
public Optional<Charset> charset()
Returns an optional charset for the value of the charset parameter if it is specified.- Throws:
IllegalStateException- if multiple charset values have been set for this media typeIllegalCharsetNameException- if a charset value is present, but illegalUnsupportedCharsetException- if a charset value is present, but no support is available in this instance of the Java virtual machine
-
withoutParameters
public MediaType withoutParameters()
Returns a new instance with the same type and subtype as this instance, but without any parameters.
-
withParameters
public MediaType withParameters(Multimap<String,String> parameters)
Replaces all parameters with the given parameters.- Throws:
IllegalArgumentException- if any parameter or value is invalid
-
withParameters
public MediaType withParameters(String attribute, Iterable<String> values)
Replaces all parameters with the given attribute with parameters using the given values. If there are no values, any existing parameters with the given attribute are removed.- Throws:
IllegalArgumentException- if eitherattributeorvaluesis invalid- Since:
- 24.0
-
withParameter
public MediaType withParameter(String attribute, String value)
Replaces all parameters with the given attribute with a single parameter with the given value. If multiple parameters with the same attributes are necessary usewithParameters(String, Iterable). PreferwithCharset(java.nio.charset.Charset)for setting thecharsetparameter when using aCharsetobject.- Throws:
IllegalArgumentException- if eitherattributeorvalueis invalid
-
withCharset
public MediaType withCharset(Charset charset)
Returns a new instance with the same type and subtype as this instance, with thecharsetparameter set to thenameof the given charset. Only onecharsetparameter will be present on the new instance regardless of the number set on this one.If a charset must be specified that is not supported on this JVM (and thus is not representable as a
Charsetinstance, usewithParameter(java.lang.String, java.lang.String).
-
hasWildcard
public boolean hasWildcard()
Returns true if either the type or subtype is the wildcard.
-
is
public boolean is(MediaType mediaTypeRange)
Returnstrueif this instance falls within the range (as defined by the HTTP Accept header) given by the argument according to three criteria:- The type of the argument is the wildcard or equal to the type of this instance.
- The subtype of the argument is the wildcard or equal to the subtype of this instance.
- All of the parameters present in the argument are present in this instance.
For example:
PLAIN_TEXT_UTF_8.is(PLAIN_TEXT_UTF_8) // true PLAIN_TEXT_UTF_8.is(HTML_UTF_8) // false PLAIN_TEXT_UTF_8.is(ANY_TYPE) // true PLAIN_TEXT_UTF_8.is(ANY_TEXT_TYPE) // true PLAIN_TEXT_UTF_8.is(ANY_IMAGE_TYPE) // false PLAIN_TEXT_UTF_8.is(ANY_TEXT_TYPE.withCharset(UTF_8)) // true PLAIN_TEXT_UTF_8.withoutParameters().is(ANY_TEXT_TYPE.withCharset(UTF_8)) // false PLAIN_TEXT_UTF_8.is(ANY_TEXT_TYPE.withCharset(UTF_16)) // falseNote that while it is possible to have the same parameter declared multiple times within a media type this method does not consider the number of occurrences of a parameter. For example,
"text/plain; charset=UTF-8"satisfies"text/plain; charset=UTF-8; charset=UTF-8".
-
create
public static MediaType create(String type, String subtype)
Creates a new media type with the given type and subtype.- Throws:
IllegalArgumentException- if type or subtype is invalid or if a wildcard is used for the type, but not the subtype.
-
parse
public static MediaType parse(String input)
Parses a media type from its string representation.- Throws:
IllegalArgumentException- if the input is not parsable
-
equals
public boolean equals(@Nullable Object obj)
Description copied from class:java.lang.ObjectIndicates whether some other object is "equal to" this one.The
equalsmethod implements an equivalence relation on non-null object references:- It is reflexive: for any non-null reference value
x,x.equals(x)should returntrue. - It is symmetric: for any non-null reference values
xandy,x.equals(y)should returntrueif and only ify.equals(x)returnstrue. - It is transitive: for any non-null reference values
x,y, andz, ifx.equals(y)returnstrueandy.equals(z)returnstrue, thenx.equals(z)should returntrue. - It is consistent: for any non-null reference values
xandy, multiple invocations ofx.equals(y)consistently returntrueor consistently returnfalse, provided no information used inequalscomparisons on the objects is modified. - For any non-null reference value
x,x.equals(null)should returnfalse.
The
equalsmethod for classObjectimplements the most discriminating possible equivalence relation on objects; that is, for any non-null reference valuesxandy, this method returnstrueif and only ifxandyrefer to the same object (x == yhas the valuetrue).Note that it is generally necessary to override the
hashCodemethod whenever this method is overridden, so as to maintain the general contract for thehashCodemethod, which states that equal objects must have equal hash codes.- Overrides:
equalsin classObject- Parameters:
obj- the reference object with which to compare.- Returns:
trueif this object is the same as the obj argument;falseotherwise.- See Also:
Object.hashCode(),HashMap
- It is reflexive: for any non-null reference value
-
hashCode
public int hashCode()
Description copied from class:java.lang.ObjectReturns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided byHashMap.The general contract of
hashCodeis:- Whenever it is invoked on the same object more than once during
an execution of a Java application, the
hashCodemethod must consistently return the same integer, provided no information used inequalscomparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application. - If two objects are equal according to the
equals(Object)method, then calling thehashCodemethod on each of the two objects must produce the same integer result. - It is not required that if two objects are unequal
according to the
Object.equals(java.lang.Object)method, then calling thehashCodemethod on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
As much as is reasonably practical, the hashCode method defined by class
Objectdoes return distinct integers for distinct objects. (The hashCode may or may not be implemented as some function of an object's memory address at some point in time.)- Overrides:
hashCodein classObject- Returns:
- a hash code value for this object.
- See Also:
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
- Whenever it is invoked on the same object more than once during
an execution of a Java application, the
-
-