|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.google.common.net.MediaType
@Beta @GwtCompatible @Immutable public final class MediaType
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 charset
parameter is normalized to
lowercase, but all others are left as-is.
Note that this specifically does not represent the value of the MIME
Content-Type
header 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()
.
Method Summary | |
---|---|
Optional<Charset> |
charset()
Returns an optional charset for the value of the charset parameter if it is specified. |
static MediaType |
create(String type,
String subtype)
Creates a new media type with the given type and subtype. |
boolean |
equals(Object obj)
|
int |
hashCode()
|
boolean |
hasWildcard()
Returns true if either the type or subtype is the wildcard. |
boolean |
is(MediaType mediaTypeRange)
Returns true if 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 MediaType |
parse(String input)
Parses a media type from its string representation. |
String |
subtype()
Returns the media subtype. |
String |
toString()
Returns the string representation of this media type in the format described in RFC 2045. |
String |
type()
Returns the top-level media type. |
MediaType |
withCharset(Charset charset)
Returns a new instance with the same type and subtype as this instance, with the charset parameter set to the name of the given charset. |
MediaType |
withoutParameters()
Returns a new instance with the same type and subtype as this instance, but without any parameters. |
MediaType |
withParameter(String attribute,
String value)
Replaces all parameters with the given attribute with a single parameter with the given value. |
MediaType |
withParameters(Multimap<String,String> parameters)
Replaces all parameters with the given parameters. |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final MediaType ANY_TYPE
public static final MediaType ANY_TEXT_TYPE
public static final MediaType ANY_IMAGE_TYPE
public static final MediaType ANY_AUDIO_TYPE
public static final MediaType ANY_VIDEO_TYPE
public static final MediaType ANY_APPLICATION_TYPE
public static final MediaType CACHE_MANIFEST_UTF_8
public static final MediaType CSS_UTF_8
public static final MediaType CSV_UTF_8
public static final MediaType HTML_UTF_8
public static final MediaType I_CALENDAR_UTF_8
public static final MediaType PLAIN_TEXT_UTF_8
public static final MediaType TEXT_JAVASCRIPT_UTF_8
application/javascript
to be the correct media type for JavaScript,
but this may be necessary in certain situations for compatibility.
public static final MediaType VCARD_UTF_8
public static final MediaType XML_UTF_8
public static final MediaType GIF
public static final MediaType ICO
public static final MediaType JPEG
public static final MediaType PNG
public static final MediaType SVG_UTF_8
public static final MediaType TIFF
public static final MediaType MP4_AUDIO
public static final MediaType MPEG_AUDIO
public static final MediaType OGG_AUDIO
public static final MediaType WEBM_AUDIO
public static final MediaType MP4_VIDEO
public static final MediaType MPEG_VIDEO
public static final MediaType OGG_VIDEO
public static final MediaType QUICKTIME
public static final MediaType WEBM_VIDEO
public static final MediaType WMV
public static final MediaType ATOM_UTF_8
public static final MediaType BZIP2
public static final MediaType FORM_DATA
public static final MediaType GZIP
public static final MediaType JAVASCRIPT_UTF_8
text/javascript
may be
necessary in certain situations for compatibility.
public static final MediaType JSON_UTF_8
public static final MediaType KML
public static final MediaType KMZ
public static final MediaType MICROSOFT_EXCEL
public static final MediaType MICROSOFT_POWERPOINT
public static final MediaType MICROSOFT_WORD
public static final MediaType OCTET_STREAM
public static final MediaType OGG_CONTAINER
public static final MediaType OOXML_DOCUMENT
public static final MediaType OOXML_PRESENTATION
public static final MediaType OOXML_SHEET
public static final MediaType OPENDOCUMENT_GRAPHICS
public static final MediaType OPENDOCUMENT_PRESENTATION
public static final MediaType OPENDOCUMENT_SPREADSHEET
public static final MediaType OPENDOCUMENT_TEXT
public static final MediaType PDF
public static final MediaType POSTSCRIPT
public static final MediaType RTF_UTF_8
public static final MediaType SHOCKWAVE_FLASH
public static final MediaType TAR
public static final MediaType XHTML_UTF_8
public static final MediaType ZIP
Method Detail |
---|
public String type()
"text"
in "text/plain"
.
public String subtype()
"plain"
in "text/plain"
.
public ImmutableListMultimap<String,String> parameters()
public Optional<Charset> charset()
IllegalStateException
- if multiple charset values have been set for this media type
IllegalCharsetNameException
- if a charset value is present, but illegal
UnsupportedCharsetException
- if a charset value is present, but no support is available
in this instance of the Java virtual machinepublic MediaType withoutParameters()
public MediaType withParameters(Multimap<String,String> parameters)
IllegalArgumentException
- if any parameter or value is invalidpublic MediaType withParameter(String attribute, String value)
withParameters(com.google.common.collect.Multimap)
. Prefer withCharset(java.nio.charset.Charset)
for setting the charset
parameter
when using a Charset
object.
IllegalArgumentException
- if either attribute
or value
is invalidpublic MediaType withCharset(Charset charset)
charset
parameter set to the name
of the given charset. Only one
charset
parameter 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 Charset
instance, use withParameter(java.lang.String, java.lang.String)
.
public boolean hasWildcard()
public boolean is(MediaType mediaTypeRange)
true
if this instance falls within the range (as defined by
the HTTP Accept header)
given by the argument according to three criteria:
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)) // false
Note 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"
.
public static MediaType create(String type, String subtype)
IllegalArgumentException
- if type or subtype is invalid or if a wildcard is used for the
type, but not the subtype.public static MediaType parse(String input)
IllegalArgumentException
- if the input is not parsablepublic boolean equals(@Nullable Object obj)
equals
in class Object
public int hashCode()
hashCode
in class Object
public String toString()
toString
in class Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |