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 subclass
org.springframework.http.MediaType
in the spring-web
module.
Consists of a type and a subtype.
Also has functionality to parse MIME Type values 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 MIME Type 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.nio.charset.Charset |
getCharSet()
Deprecated.
as of Spring 4.3, in favor of
getCharset() with its name
aligned with the Java return type name |
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 MIME Type includes the given MIME Type.
|
boolean |
isCompatibleWith(MimeType other)
Indicate whether this MIME Type is compatible with the given MIME Type.
|
boolean |
isConcrete()
Indicates whether this MIME 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 MimeTypecharset
- the character setjava.lang.IllegalArgumentException
- if any of the parameters contains illegal characterspublic MimeType(MimeType other, java.util.Map<java.lang.String,java.lang.String> parameters)
MimeType
,
and allows for different parameter.other
- the other MimeTypeparameters
- 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, 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()
public java.nio.charset.Charset getCharset()
charset
parameter, if any.null
if not available@Deprecated public java.nio.charset.Charset getCharSet()
getCharset()
with its name
aligned with the Java return type namecharset
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)
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 MIME Type with which to comparetrue
if this MIME Type includes the given MIME Type;
false
otherwisepublic boolean isCompatibleWith(MimeType other)
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 MIME Type with which to comparetrue
if this MIME Type is compatible with the given MIME 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)
compareTo
in interface java.lang.Comparable<MimeType>
other
- the MIME 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)