public class MimeType extends java.lang.Object implements java.lang.Comparable<MimeType>, java.io.Serializable
This class, however, does not contain support for the q-parameters used
in HTTP content negotiation. Those can be found in the sub-class
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 |
---|---|
protected static java.lang.String |
WILDCARD_TYPE |
Constructor and Description |
---|
MimeType(MimeType other,
java.nio.charset.Charset charset)
Copy-constructor that copies the type, subtype, parameters of the given
MimeType ,
and allows to set the specified character set. |
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 |
---|---|
protected void |
appendTo(java.lang.StringBuilder builder) |
protected void |
checkParameters(java.lang.String attribute,
java.lang.String value) |
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.
|
boolean |
isWildcardSubtype()
Indicates whether the subtype is the wildcard
character
* or the wildcard character followed by a suffix
(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 . |
protected static final java.lang.String WILDCARD_TYPE
public MimeType(java.lang.String type)
MimeType
for the given primary type.
The subtype is set to "*"
,
and the parameters are empty.
type
- the primary typejava.lang.IllegalArgumentException
- if any of the parameters contains 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 contains 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 contains illegal characterspublic MimeType(MimeType other, java.nio.charset.Charset charset)
MimeType
,
and allows to set the specified character set.other
- the other media typecharset
- the character setjava.lang.IllegalArgumentException
- if any of the parameters contains illegal characterspublic MimeType(MimeType other, @Nullable 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 contains illegal characterspublic MimeType(java.lang.String type, java.lang.String subtype, @Nullable 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 contains illegal charactersprotected void checkParameters(java.lang.String attribute, java.lang.String value)
protected java.lang.String unquote(java.lang.String s)
public boolean isWildcardType()
*
or not.public boolean isWildcardSubtype()
*
or the wildcard character followed by a suffix
(e.g. *+xml
).public boolean isConcrete()
*
.public java.lang.String getType()
public java.lang.String getSubtype()
@Nullable public java.nio.charset.Charset getCharset()
charset
parameter, if any.null
if not available@Nullable public 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(@Nullable 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(@Nullable 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 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)
public int compareTo(MimeType other)
MediaType
to another alphabetically.compareTo
in interface java.lang.Comparable<MimeType>
other
- media type to compare toMimeTypeUtils.sortBySpecificity(List)
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)