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 Form| Modifier 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.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic java.lang.String toString()
toString in class java.lang.Objectprotected 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)