Package javax.ws.rs.core
Class MediaType
- java.lang.Object
-
- javax.ws.rs.core.MediaType
-
public class MediaType extends java.lang.Object
An abstraction for a media type. Instances are immutable.- Since:
- 1.0
- See Also:
- HTTP/1.1 section 3.7
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
APPLICATION_ATOM_XML
AString
constant representing ""application/atom+xml"" media type.static MediaType
APPLICATION_ATOM_XML_TYPE
AMediaType
constant representing ""application/atom+xml"" media type.static java.lang.String
APPLICATION_FORM_URLENCODED
AString
constant representing ""application/x-www-form-urlencoded"" media type.static MediaType
APPLICATION_FORM_URLENCODED_TYPE
AMediaType
constant representing ""application/x-www-form-urlencoded"" media type.static java.lang.String
APPLICATION_JSON
AString
constant representing ""application/json"" media type.static MediaType
APPLICATION_JSON_TYPE
AMediaType
constant representing ""application/json"" media type.static java.lang.String
APPLICATION_OCTET_STREAM
AString
constant representing ""application/octet-stream"" media type.static MediaType
APPLICATION_OCTET_STREAM_TYPE
AMediaType
constant representing ""application/octet-stream"" media type.static java.lang.String
APPLICATION_SVG_XML
AString
constant representing ""application/svg+xml"" media type.static MediaType
APPLICATION_SVG_XML_TYPE
AMediaType
constant representing ""application/svg+xml"" media type.static java.lang.String
APPLICATION_XHTML_XML
AString
constant representing ""application/xhtml+xml"" media type.static MediaType
APPLICATION_XHTML_XML_TYPE
AMediaType
constant representing ""application/xhtml+xml"" media type.static java.lang.String
APPLICATION_XML
AString
constant representing ""application/xml"" media type.static MediaType
APPLICATION_XML_TYPE
AMediaType
constant representing ""application/xml"" media type.static java.lang.String
CHARSET_PARAMETER
The media typecharset
parameter name.static java.lang.String
MEDIA_TYPE_WILDCARD
The value of a type or subtype wildcard ""*"".static java.lang.String
MULTIPART_FORM_DATA
AString
constant representing ""multipart/form-data"" media type.static MediaType
MULTIPART_FORM_DATA_TYPE
AMediaType
constant representing ""multipart/form-data"" media type.private java.util.Map<java.lang.String,java.lang.String>
parameters
private java.lang.String
subtype
static java.lang.String
TEXT_HTML
AString
constant representing ""text/html"" media type.static MediaType
TEXT_HTML_TYPE
AMediaType
constant representing ""text/html"" media type.static java.lang.String
TEXT_PLAIN
AString
constant representing ""text/plain"" media type.static MediaType
TEXT_PLAIN_TYPE
AMediaType
constant representing ""text/plain"" media type.static java.lang.String
TEXT_XML
AString
constant representing ""text/xml"" media type.static MediaType
TEXT_XML_TYPE
AMediaType
constant representing ""text/xml"" media type.private java.lang.String
type
static java.lang.String
WILDCARD
AString
constant representing wildcard ""*/*"" media type .static MediaType
WILDCARD_TYPE
-
Constructor Summary
Constructors Modifier Constructor Description MediaType()
Creates a new instance ofMediaType
, both type and subtype are wildcards.MediaType(java.lang.String type, java.lang.String subtype)
Creates a new instance ofMediaType
with the supplied type and subtype.MediaType(java.lang.String type, java.lang.String subtype, java.lang.String charset)
Creates a new instance ofMediaType
with the supplied type, subtype and ""charset"" parameter.private
MediaType(java.lang.String type, java.lang.String subtype, java.lang.String charset, java.util.Map<java.lang.String,java.lang.String> parameterMap)
MediaType(java.lang.String type, java.lang.String subtype, java.util.Map<java.lang.String,java.lang.String> parameters)
Creates a new instance ofMediaType
with the supplied type, subtype and parameters.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static java.util.TreeMap<java.lang.String,java.lang.String>
createParametersMap(java.util.Map<java.lang.String,java.lang.String> initialValues)
boolean
equals(java.lang.Object obj)
Comparesobj
to this media type to see if they are the same by comparing type, subtype and parameters.java.util.Map<java.lang.String,java.lang.String>
getParameters()
Getter for a read-only parameter map.java.lang.String
getSubtype()
Getter for subtype.java.lang.String
getType()
Getter for primary type.int
hashCode()
Generate a hash code from the type, subtype and parameters.boolean
isCompatible(MediaType other)
Check if this media type is compatible with another media type.boolean
isWildcardSubtype()
Checks if the subtype is a wildcard.boolean
isWildcardType()
Checks if the primary type is a wildcard.java.lang.String
toString()
Convert the media type to a string suitable for use as the value of a corresponding HTTP header.static MediaType
valueOf(java.lang.String type)
Creates a new instance ofMediaType
by parsing the supplied string.MediaType
withCharset(java.lang.String charset)
Create a newMediaType
instance with the same type, subtype and parameters copied from the original instance and the supplied ""charset"" parameter.
-
-
-
Field Detail
-
type
private java.lang.String type
-
subtype
private java.lang.String subtype
-
parameters
private java.util.Map<java.lang.String,java.lang.String> parameters
-
CHARSET_PARAMETER
public static final java.lang.String CHARSET_PARAMETER
The media typecharset
parameter name.- See Also:
- Constant Field Values
-
MEDIA_TYPE_WILDCARD
public static final java.lang.String MEDIA_TYPE_WILDCARD
The value of a type or subtype wildcard ""*"".- See Also:
- Constant Field Values
-
WILDCARD
public static final java.lang.String WILDCARD
AString
constant representing wildcard ""*/*"" media type .- See Also:
- Constant Field Values
-
WILDCARD_TYPE
public static final MediaType WILDCARD_TYPE
-
APPLICATION_XML
public static final java.lang.String APPLICATION_XML
AString
constant representing ""application/xml"" media type.- See Also:
- Constant Field Values
-
APPLICATION_XML_TYPE
public static final MediaType APPLICATION_XML_TYPE
AMediaType
constant representing ""application/xml"" media type.
-
APPLICATION_ATOM_XML
public static final java.lang.String APPLICATION_ATOM_XML
AString
constant representing ""application/atom+xml"" media type.- See Also:
- Constant Field Values
-
APPLICATION_ATOM_XML_TYPE
public static final MediaType APPLICATION_ATOM_XML_TYPE
AMediaType
constant representing ""application/atom+xml"" media type.
-
APPLICATION_XHTML_XML
public static final java.lang.String APPLICATION_XHTML_XML
AString
constant representing ""application/xhtml+xml"" media type.- See Also:
- Constant Field Values
-
APPLICATION_XHTML_XML_TYPE
public static final MediaType APPLICATION_XHTML_XML_TYPE
AMediaType
constant representing ""application/xhtml+xml"" media type.
-
APPLICATION_SVG_XML
public static final java.lang.String APPLICATION_SVG_XML
AString
constant representing ""application/svg+xml"" media type.- See Also:
- Constant Field Values
-
APPLICATION_SVG_XML_TYPE
public static final MediaType APPLICATION_SVG_XML_TYPE
AMediaType
constant representing ""application/svg+xml"" media type.
-
APPLICATION_JSON
public static final java.lang.String APPLICATION_JSON
AString
constant representing ""application/json"" media type.- See Also:
- Constant Field Values
-
APPLICATION_JSON_TYPE
public static final MediaType APPLICATION_JSON_TYPE
AMediaType
constant representing ""application/json"" media type.
-
APPLICATION_FORM_URLENCODED
public static final java.lang.String APPLICATION_FORM_URLENCODED
AString
constant representing ""application/x-www-form-urlencoded"" media type.- See Also:
- Constant Field Values
-
APPLICATION_FORM_URLENCODED_TYPE
public static final MediaType APPLICATION_FORM_URLENCODED_TYPE
AMediaType
constant representing ""application/x-www-form-urlencoded"" media type.
-
MULTIPART_FORM_DATA
public static final java.lang.String MULTIPART_FORM_DATA
AString
constant representing ""multipart/form-data"" media type.- See Also:
- Constant Field Values
-
MULTIPART_FORM_DATA_TYPE
public static final MediaType MULTIPART_FORM_DATA_TYPE
AMediaType
constant representing ""multipart/form-data"" media type.
-
APPLICATION_OCTET_STREAM
public static final java.lang.String APPLICATION_OCTET_STREAM
AString
constant representing ""application/octet-stream"" media type.- See Also:
- Constant Field Values
-
APPLICATION_OCTET_STREAM_TYPE
public static final MediaType APPLICATION_OCTET_STREAM_TYPE
AMediaType
constant representing ""application/octet-stream"" media type.
-
TEXT_PLAIN
public static final java.lang.String TEXT_PLAIN
AString
constant representing ""text/plain"" media type.- See Also:
- Constant Field Values
-
TEXT_PLAIN_TYPE
public static final MediaType TEXT_PLAIN_TYPE
AMediaType
constant representing ""text/plain"" media type.
-
TEXT_XML
public static final java.lang.String TEXT_XML
AString
constant representing ""text/xml"" media type.- See Also:
- Constant Field Values
-
TEXT_XML_TYPE
public static final MediaType TEXT_XML_TYPE
AMediaType
constant representing ""text/xml"" media type.
-
TEXT_HTML
public static final java.lang.String TEXT_HTML
AString
constant representing ""text/html"" media type.- See Also:
- Constant Field Values
-
TEXT_HTML_TYPE
public static final MediaType TEXT_HTML_TYPE
AMediaType
constant representing ""text/html"" media type.
-
-
Constructor Detail
-
MediaType
public MediaType(java.lang.String type, java.lang.String subtype, java.util.Map<java.lang.String,java.lang.String> parameters)
Creates a new instance ofMediaType
with the supplied type, subtype and parameters.- Parameters:
type
- the primary type,null
is equivalent toMEDIA_TYPE_WILDCARD
.subtype
- the subtype,null
is equivalent toMEDIA_TYPE_WILDCARD
.parameters
- a map of media type parameters,null
is the same as an empty map.
-
MediaType
public MediaType(java.lang.String type, java.lang.String subtype)
Creates a new instance ofMediaType
with the supplied type and subtype.- Parameters:
type
- the primary type,null
is equivalent toMEDIA_TYPE_WILDCARD
subtype
- the subtype,null
is equivalent toMEDIA_TYPE_WILDCARD
-
MediaType
public MediaType(java.lang.String type, java.lang.String subtype, java.lang.String charset)
Creates a new instance ofMediaType
with the supplied type, subtype and ""charset"" parameter.- Parameters:
type
- the primary type,null
is equivalent toMEDIA_TYPE_WILDCARD
subtype
- the subtype,null
is equivalent toMEDIA_TYPE_WILDCARD
charset
- the ""charset"" parameter value. Ifnull
or empty the ""charset"" parameter will not be set.
-
MediaType
public MediaType()
Creates a new instance ofMediaType
, both type and subtype are wildcards. Consider using the constantWILDCARD_TYPE
instead.
-
MediaType
private MediaType(java.lang.String type, java.lang.String subtype, java.lang.String charset, java.util.Map<java.lang.String,java.lang.String> parameterMap)
-
-
Method Detail
-
valueOf
public static MediaType valueOf(java.lang.String type)
Creates a new instance ofMediaType
by parsing the supplied string.- Parameters:
type
- the media type string.- Returns:
- the newly created MediaType.
- Throws:
java.lang.IllegalArgumentException
- if the supplied string cannot be parsed or isnull
.
-
createParametersMap
private static java.util.TreeMap<java.lang.String,java.lang.String> createParametersMap(java.util.Map<java.lang.String,java.lang.String> initialValues)
-
getType
public java.lang.String getType()
Getter for primary type.- Returns:
- value of primary type.
-
isWildcardType
public boolean isWildcardType()
Checks if the primary type is a wildcard.- Returns:
- true if the primary type is a wildcard.
-
getSubtype
public java.lang.String getSubtype()
Getter for subtype.- Returns:
- value of subtype.
-
isWildcardSubtype
public boolean isWildcardSubtype()
Checks if the subtype is a wildcard.- Returns:
- true if the subtype is a wildcard.
-
getParameters
public java.util.Map<java.lang.String,java.lang.String> getParameters()
Getter for a read-only parameter map. Keys are case-insensitive.- Returns:
- an immutable map of parameters.
-
withCharset
public MediaType withCharset(java.lang.String charset)
Create a newMediaType
instance with the same type, subtype and parameters copied from the original instance and the supplied ""charset"" parameter.
-
isCompatible
public boolean isCompatible(MediaType other)
Check if this media type is compatible with another media type. E.g. image/* is compatible with image/jpeg, image/png, etc. Media type parameters are ignored. The function is commutative.- Parameters:
other
- the media type to compare with.- Returns:
- true if the types are compatible, false otherwise.
-
equals
public boolean equals(java.lang.Object obj)
Comparesobj
to this media type to see if they are the same by comparing type, subtype and parameters. Note that the case-sensitivity of parameter values is dependent on the semantics of the parameter name, see {@link HTTP/1.1}. This method assumes that values are case-sensitive. Note that theequals(...)
implementation does not perform a class equality check (this.getClass() == obj.getClass()
). Therefore any class that extends fromMediaType
class and needs to override one of theequals(...)
andhashCode()
methods must always override both methods to ensure the contract betweenObject.equals(java.lang.Object)
andObject.hashCode()
does not break.- Overrides:
equals
in classjava.lang.Object
- Parameters:
obj
- the object to compare to.- Returns:
- true if the two media types are the same, false otherwise.
-
hashCode
public int hashCode()
Generate a hash code from the type, subtype and parameters. Note that theequals(java.lang.Object)
implementation does not perform a class equality check (this.getClass() == obj.getClass()
). Therefore any class that extends fromMediaType
class and needs to override one of theequals(Object)
andhashCode()
methods must always override both methods to ensure the contract betweenObject.equals(java.lang.Object)
andObject.hashCode()
does not break.- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- a generated hash code.
-
toString
public java.lang.String toString()
Convert the media type to a string suitable for use as the value of a corresponding HTTP header.- Overrides:
toString
in classjava.lang.Object
- Returns:
- a string version of the media type.
-
-