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.- See Also:
- HTTP/1.1 section 3.7
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
APPLICATION_ATOM_XML
"application/atom+xml"static MediaType
APPLICATION_ATOM_XML_TYPE
"application/atom+xml"static java.lang.String
APPLICATION_FORM_URLENCODED
"application/x-www-form-urlencoded"static MediaType
APPLICATION_FORM_URLENCODED_TYPE
"application/x-www-form-urlencoded"static java.lang.String
APPLICATION_JSON
"application/json"static MediaType
APPLICATION_JSON_TYPE
"application/json"static java.lang.String
APPLICATION_OCTET_STREAM
"application/octet-stream"static MediaType
APPLICATION_OCTET_STREAM_TYPE
"application/octet-stream"static java.lang.String
APPLICATION_SVG_XML
"application/svg+xml"static MediaType
APPLICATION_SVG_XML_TYPE
"application/svg+xml"static java.lang.String
APPLICATION_XHTML_XML
"application/xhtml+xml"static MediaType
APPLICATION_XHTML_XML_TYPE
"application/xhtml+xml"static java.lang.String
APPLICATION_XML
"application/xml"static MediaType
APPLICATION_XML_TYPE
"application/xml"private static RuntimeDelegate.HeaderDelegate<MediaType>
delegate
private static java.util.Map<java.lang.String,java.lang.String>
emptyMap
Empty immutable map used for all instances without parametersstatic java.lang.String
MEDIA_TYPE_WILDCARD
The value of a type or subtype wildcard: "*"static java.lang.String
MULTIPART_FORM_DATA
"multipart/form-data"static MediaType
MULTIPART_FORM_DATA_TYPE
"multipart/form-data"private java.util.Map<java.lang.String,java.lang.String>
parameters
private java.lang.String
subtype
static java.lang.String
TEXT_HTML
"text/html"static MediaType
TEXT_HTML_TYPE
"text/html"static java.lang.String
TEXT_PLAIN
"text/plain"static MediaType
TEXT_PLAIN_TYPE
"text/plain"static java.lang.String
TEXT_XML
"text/xml"static MediaType
TEXT_XML_TYPE
"text/xml"private java.lang.String
type
static java.lang.String
WILDCARD
"*/*"static MediaType
WILDCARD_TYPE
"*/*"
-
Constructor Summary
Constructors Constructor Description MediaType()
Creates a new instance of MediaType, both type and subtype are wildcards.MediaType(java.lang.String type, java.lang.String subtype)
Creates a new instance of MediaType with the supplied type and subtype.MediaType(java.lang.String type, java.lang.String subtype, java.util.Map<java.lang.String,java.lang.String> parameters)
Creates a new instance of MediaType with the supplied type, subtype and parameters.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object obj)
Compares obj 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 hashcode 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 wildcardboolean
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 of MediaType by parsing the supplied string.
-
-
-
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
-
emptyMap
private static final java.util.Map<java.lang.String,java.lang.String> emptyMap
Empty immutable map used for all instances without parameters
-
delegate
private static final RuntimeDelegate.HeaderDelegate<MediaType> delegate
-
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
"*/*"- See Also:
- Constant Field Values
-
WILDCARD_TYPE
public static final MediaType WILDCARD_TYPE
"*/*"
-
APPLICATION_XML
public static final java.lang.String APPLICATION_XML
"application/xml"- See Also:
- Constant Field Values
-
APPLICATION_XML_TYPE
public static final MediaType APPLICATION_XML_TYPE
"application/xml"
-
APPLICATION_ATOM_XML
public static final java.lang.String APPLICATION_ATOM_XML
"application/atom+xml"- See Also:
- Constant Field Values
-
APPLICATION_ATOM_XML_TYPE
public static final MediaType APPLICATION_ATOM_XML_TYPE
"application/atom+xml"
-
APPLICATION_XHTML_XML
public static final java.lang.String APPLICATION_XHTML_XML
"application/xhtml+xml"- See Also:
- Constant Field Values
-
APPLICATION_XHTML_XML_TYPE
public static final MediaType APPLICATION_XHTML_XML_TYPE
"application/xhtml+xml"
-
APPLICATION_SVG_XML
public static final java.lang.String APPLICATION_SVG_XML
"application/svg+xml"- See Also:
- Constant Field Values
-
APPLICATION_SVG_XML_TYPE
public static final MediaType APPLICATION_SVG_XML_TYPE
"application/svg+xml"
-
APPLICATION_JSON
public static final java.lang.String APPLICATION_JSON
"application/json"- See Also:
- Constant Field Values
-
APPLICATION_JSON_TYPE
public static final MediaType APPLICATION_JSON_TYPE
"application/json"
-
APPLICATION_FORM_URLENCODED
public static final java.lang.String APPLICATION_FORM_URLENCODED
"application/x-www-form-urlencoded"- See Also:
- Constant Field Values
-
APPLICATION_FORM_URLENCODED_TYPE
public static final MediaType APPLICATION_FORM_URLENCODED_TYPE
"application/x-www-form-urlencoded"
-
MULTIPART_FORM_DATA
public static final java.lang.String MULTIPART_FORM_DATA
"multipart/form-data"- See Also:
- Constant Field Values
-
MULTIPART_FORM_DATA_TYPE
public static final MediaType MULTIPART_FORM_DATA_TYPE
"multipart/form-data"
-
APPLICATION_OCTET_STREAM
public static final java.lang.String APPLICATION_OCTET_STREAM
"application/octet-stream"- See Also:
- Constant Field Values
-
APPLICATION_OCTET_STREAM_TYPE
public static final MediaType APPLICATION_OCTET_STREAM_TYPE
"application/octet-stream"
-
TEXT_PLAIN
public static final java.lang.String TEXT_PLAIN
"text/plain"- See Also:
- Constant Field Values
-
TEXT_PLAIN_TYPE
public static final MediaType TEXT_PLAIN_TYPE
"text/plain"
-
TEXT_XML
public static final java.lang.String TEXT_XML
"text/xml"- See Also:
- Constant Field Values
-
TEXT_XML_TYPE
public static final MediaType TEXT_XML_TYPE
"text/xml"
-
TEXT_HTML
public static final java.lang.String TEXT_HTML
"text/html"- See Also:
- Constant Field Values
-
TEXT_HTML_TYPE
public static final MediaType TEXT_HTML_TYPE
"text/html"
-
-
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 of MediaType 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 of MediaType 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()
Creates a new instance of MediaType, both type and subtype are wildcards. Consider using the constantWILDCARD_TYPE
instead.
-
-
Method Detail
-
valueOf
public static MediaType valueOf(java.lang.String type) throws java.lang.IllegalArgumentException
Creates a new instance of MediaType 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 is null
-
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.
-
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)
Compares obj 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.- 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 hashcode from the type, subtype and parameters.- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- a hashcode
-
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 stringified media type
-
-