public class MimeType extends java.lang.Object implements java.lang.Comparable<MimeType>, java.io.Serializable
org.springframework.http.MediaType
in the spring-web
module.
Consists of a type and a subtype.
Also has functionality to parse media types from a string using
valueOf(String)
. For more parsing options see MimeTypeUtils
.
MimeTypeUtils
,
Serialized FormModifier and Type | Class and Description |
---|---|
static class |
MimeType.SpecificityComparator<T extends MimeType> |
Modifier and Type | Field and Description |
---|---|
private static java.lang.String |
PARAM_CHARSET |
private java.util.Map<java.lang.String,java.lang.String> |
parameters |
private static long |
serialVersionUID |
private java.lang.String |
subtype |
private static java.util.BitSet |
TOKEN |
private java.lang.String |
type |
protected static java.lang.String |
WILDCARD_TYPE |
Constructor and Description |
---|
MimeType(MimeType other,
java.util.Map<java.lang.String,java.lang.String> parameters)
Copy-constructor that copies the type and subtype of the given
MimeType ,
and allows for different parameter. |
MimeType(java.lang.String type)
Create a new
MimeType for the given primary type. |
MimeType(java.lang.String type,
java.lang.String subtype)
Create a new
MimeType for the given primary type and subtype. |
MimeType(java.lang.String type,
java.lang.String subtype,
java.nio.charset.Charset charSet)
Create a new
MimeType for the given type, subtype, and character set. |
MimeType(java.lang.String type,
java.lang.String subtype,
java.util.Map<java.lang.String,java.lang.String> parameters)
Create a new
MimeType for the given type, subtype, and parameters. |
Modifier and Type | Method and Description |
---|---|
private void |
appendTo(java.util.Map<java.lang.String,java.lang.String> map,
java.lang.StringBuilder builder) |
protected void |
appendTo(java.lang.StringBuilder builder) |
protected void |
checkParameters(java.lang.String attribute,
java.lang.String value) |
private void |
checkToken(java.lang.String token)
Checks the given token string for illegal characters, as defined in RFC 2616,
section 2.2.
|
int |
compareTo(MimeType other)
Compares this
MediaType to another alphabetically. |
boolean |
equals(java.lang.Object other) |
java.nio.charset.Charset |
getCharSet()
Return the character set, as indicated by a
charset parameter, if any. |
java.lang.String |
getParameter(java.lang.String name)
Return a generic parameter value, given a parameter name.
|
java.util.Map<java.lang.String,java.lang.String> |
getParameters()
Return all generic parameter values.
|
java.lang.String |
getSubtype()
Return the subtype.
|
java.lang.String |
getType()
Return the primary type.
|
int |
hashCode() |
boolean |
includes(MimeType other)
Indicate whether this
MediaType includes the given media type. |
boolean |
isCompatibleWith(MimeType other)
Indicate whether this
MediaType is compatible with the given media type. |
boolean |
isConcrete()
Indicates whether this media type is concrete, i.e.
|
private boolean |
isQuotedString(java.lang.String s) |
boolean |
isWildcardSubtype()
Indicates whether the subtype is the wildcard character
* or the wildcard character followed by a sufiix (e.g. |
boolean |
isWildcardType()
Indicates whether the type is the wildcard character
* or not. |
java.lang.String |
toString() |
protected java.lang.String |
unquote(java.lang.String s) |
static MimeType |
valueOf(java.lang.String value)
Parse the given String value into a
MimeType object,
with this method name following the 'valueOf' naming convention
(as supported by ConversionService . |
private static final long serialVersionUID
protected static final java.lang.String WILDCARD_TYPE
private static final java.util.BitSet TOKEN
private static final java.lang.String PARAM_CHARSET
private final java.lang.String type
private final java.lang.String subtype
private final java.util.Map<java.lang.String,java.lang.String> parameters
public MimeType(java.lang.String type)
MimeType
for the given primary type.
The subtype is set to "*", parameters empty.
type
- the primary typejava.lang.IllegalArgumentException
- if any of the parameters contain illegal characterspublic MimeType(java.lang.String type, java.lang.String subtype)
MimeType
for the given primary type and subtype.
The parameters are empty.
type
- the primary typesubtype
- the subtypejava.lang.IllegalArgumentException
- if any of the parameters contain illegal characterspublic MimeType(java.lang.String type, java.lang.String subtype, java.nio.charset.Charset charSet)
MimeType
for the given type, subtype, and character set.type
- the primary typesubtype
- the subtypecharSet
- the character setjava.lang.IllegalArgumentException
- if any of the parameters contain illegal characterspublic MimeType(MimeType other, java.util.Map<java.lang.String,java.lang.String> parameters)
MimeType
,
and allows for different parameter.other
- the other media typeparameters
- the parameters, may be null
java.lang.IllegalArgumentException
- if any of the parameters contain illegal characterspublic MimeType(java.lang.String type, java.lang.String subtype, java.util.Map<java.lang.String,java.lang.String> parameters)
MimeType
for the given type, subtype, and parameters.type
- the primary typesubtype
- the subtypeparameters
- the parameters, may be null
java.lang.IllegalArgumentException
- if any of the parameters contain illegal charactersprivate void checkToken(java.lang.String token)
java.lang.IllegalArgumentException
- in case of illegal charactersprotected void checkParameters(java.lang.String attribute, java.lang.String value)
private boolean isQuotedString(java.lang.String s)
protected java.lang.String unquote(java.lang.String s)
public boolean isWildcardType()
*
or not.public boolean isWildcardSubtype()
*
or the wildcard character followed by a sufiix (e.g.
*+xml
), or not.*
public boolean isConcrete()
*
.public java.lang.String getType()
public java.lang.String getSubtype()
public java.nio.charset.Charset getCharSet()
charset
parameter, if any.null
if not availablepublic java.lang.String getParameter(java.lang.String name)
name
- the parameter namenull
if not presentpublic java.util.Map<java.lang.String,java.lang.String> getParameters()
null
public boolean includes(MimeType other)
MediaType
includes the given media type.
For instance, text/*
includes text/plain
and text/html
,
and application/*+xml
includes application/soap+xml
, etc. This
method is not symmetric.
other
- the reference media type with which to comparetrue
if this media type includes the given media type;
false
otherwisepublic boolean isCompatibleWith(MimeType other)
MediaType
is compatible with the given media type.
For instance, text/*
is compatible with text/plain
,
text/html
, and vice versa. In effect, this method is similar to
includes(org.springframework.util.MimeType)
, except that it is symmetric.
other
- the reference media type with which to comparetrue
if this media type is compatible with the given media type;
false
otherwisepublic int compareTo(MimeType other)
MediaType
to another alphabetically.compareTo
in interface java.lang.Comparable<MimeType>
other
- media type to compare toMimeTypeUtils.sortBySpecificity(List)
public boolean equals(java.lang.Object other)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
protected void appendTo(java.lang.StringBuilder builder)
private void appendTo(java.util.Map<java.lang.String,java.lang.String> map, java.lang.StringBuilder builder)
public static MimeType valueOf(java.lang.String value)
MimeType
object,
with this method name following the 'valueOf' naming convention
(as supported by ConversionService
.MimeTypeUtils.parseMimeType(String)