Package javax.ws.rs.core
Class MediaType
- java.lang.Object
-
- javax.ws.rs.core.MediaType
-
public class MediaType extends Object
An abstraction for a media type. Instances are immutable.- Since:
- 1.0
- Author:
- Paul Sandoz, Marc Hadley
- See Also:
- HTTP/1.1 section 3.7
-
-
Field Summary
Fields Modifier and Type Field Description static StringAPPLICATION_ATOM_XMLAStringconstant representing "application/atom+xml" media type.static MediaTypeAPPLICATION_ATOM_XML_TYPEAMediaTypeconstant representing "application/atom+xml" media type.static StringAPPLICATION_FORM_URLENCODEDAStringconstant representing "application/x-www-form-urlencoded" media type.static MediaTypeAPPLICATION_FORM_URLENCODED_TYPEAMediaTypeconstant representing "application/x-www-form-urlencoded" media type.static StringAPPLICATION_JSONAStringconstant representing "application/json" media type.static StringAPPLICATION_JSON_PATCH_JSONStringrepresentation of "application/json-patch+json" media type..static MediaTypeAPPLICATION_JSON_PATCH_JSON_TYPEAMediaTypeconstant representing "application/json-patch+json" media type.static MediaTypeAPPLICATION_JSON_TYPEAMediaTypeconstant representing "application/json" media type.static StringAPPLICATION_OCTET_STREAMAStringconstant representing "application/octet-stream" media type.static MediaTypeAPPLICATION_OCTET_STREAM_TYPEAMediaTypeconstant representing "application/octet-stream" media type.static StringAPPLICATION_SVG_XMLAStringconstant representing "application/svg+xml" media type.static MediaTypeAPPLICATION_SVG_XML_TYPEAMediaTypeconstant representing "application/svg+xml" media type.static StringAPPLICATION_XHTML_XMLAStringconstant representing "application/xhtml+xml" media type.static MediaTypeAPPLICATION_XHTML_XML_TYPEAMediaTypeconstant representing "application/xhtml+xml" media type.static StringAPPLICATION_XMLAStringconstant representing "application/xml" media type.static MediaTypeAPPLICATION_XML_TYPEAMediaTypeconstant representing "application/xml" media type.static StringCHARSET_PARAMETERThe media typecharsetparameter name.static StringMEDIA_TYPE_WILDCARDThe value of a type or subtype wildcard "*".static StringMULTIPART_FORM_DATAAStringconstant representing "multipart/form-data" media type.static MediaTypeMULTIPART_FORM_DATA_TYPEAMediaTypeconstant representing "multipart/form-data" media type.static StringSERVER_SENT_EVENTSStringrepresentation of Server sent events media type.static MediaTypeSERVER_SENT_EVENTS_TYPEServer sent events media type.static StringTEXT_HTMLAStringconstant representing "text/html" media type.static MediaTypeTEXT_HTML_TYPEAMediaTypeconstant representing "text/html" media type.static StringTEXT_PLAINAStringconstant representing "text/plain" media type.static MediaTypeTEXT_PLAIN_TYPEAMediaTypeconstant representing "text/plain" media type.static StringTEXT_XMLAStringconstant representing "text/xml" media type.static MediaTypeTEXT_XML_TYPEAMediaTypeconstant representing "text/xml" media type.static StringWILDCARDAStringconstant representing wildcard "*/*" media type .static MediaTypeWILDCARD_TYPE
-
Constructor Summary
Constructors Constructor Description MediaType()Creates a new instance ofMediaType, both type and subtype are wildcards.MediaType(String type, String subtype)Creates a new instance ofMediaTypewith the supplied type and subtype.MediaType(String type, String subtype, String charset)Creates a new instance ofMediaTypewith the supplied type, subtype and "charset" parameter.MediaType(String type, String subtype, Map<String,String> parameters)Creates a new instance ofMediaTypewith the supplied type, subtype and parameters.
-
Method Summary
Modifier and Type Method Description booleanequals(Object obj)Comparesobjto this media type to see if they are the same by comparing type, subtype and parameters.Map<String,String>getParameters()Getter for a read-only parameter map.StringgetSubtype()Getter for subtype.StringgetType()Getter for primary type.inthashCode()Generate a hash code from the type, subtype and parameters.booleanisCompatible(MediaType other)Check if this media type is compatible with another media type.booleanisWildcardSubtype()Checks if the subtype is a wildcard.booleanisWildcardType()Checks if the primary type is a wildcard.StringtoString()Convert the media type to a string suitable for use as the value of a corresponding HTTP header.static MediaTypevalueOf(String type)Creates a new instance ofMediaTypeby parsing the supplied string.MediaTypewithCharset(String charset)Create a newMediaTypeinstance with the same type, subtype and parameters copied from the original instance and the supplied "charset" parameter.
-
-
-
Field Detail
-
CHARSET_PARAMETER
public static final String CHARSET_PARAMETER
The media typecharsetparameter name.- See Also:
- Constant Field Values
-
MEDIA_TYPE_WILDCARD
public static final String MEDIA_TYPE_WILDCARD
The value of a type or subtype wildcard "*".- See Also:
- Constant Field Values
-
WILDCARD
public static final String WILDCARD
AStringconstant representing wildcard "*/*" media type .- See Also:
- Constant Field Values
-
WILDCARD_TYPE
public static final MediaType WILDCARD_TYPE
-
APPLICATION_XML
public static final String APPLICATION_XML
AStringconstant representing "application/xml" media type.- See Also:
- Constant Field Values
-
APPLICATION_XML_TYPE
public static final MediaType APPLICATION_XML_TYPE
AMediaTypeconstant representing "application/xml" media type.
-
APPLICATION_ATOM_XML
public static final String APPLICATION_ATOM_XML
AStringconstant representing "application/atom+xml" media type.- See Also:
- Constant Field Values
-
APPLICATION_ATOM_XML_TYPE
public static final MediaType APPLICATION_ATOM_XML_TYPE
AMediaTypeconstant representing "application/atom+xml" media type.
-
APPLICATION_XHTML_XML
public static final String APPLICATION_XHTML_XML
AStringconstant representing "application/xhtml+xml" media type.- See Also:
- Constant Field Values
-
APPLICATION_XHTML_XML_TYPE
public static final MediaType APPLICATION_XHTML_XML_TYPE
AMediaTypeconstant representing "application/xhtml+xml" media type.
-
APPLICATION_SVG_XML
public static final String APPLICATION_SVG_XML
AStringconstant representing "application/svg+xml" media type.- See Also:
- Constant Field Values
-
APPLICATION_SVG_XML_TYPE
public static final MediaType APPLICATION_SVG_XML_TYPE
AMediaTypeconstant representing "application/svg+xml" media type.
-
APPLICATION_JSON
public static final String APPLICATION_JSON
AStringconstant representing "application/json" media type.- See Also:
- Constant Field Values
-
APPLICATION_JSON_TYPE
public static final MediaType APPLICATION_JSON_TYPE
AMediaTypeconstant representing "application/json" media type.
-
APPLICATION_FORM_URLENCODED
public static final String APPLICATION_FORM_URLENCODED
AStringconstant 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
AMediaTypeconstant representing "application/x-www-form-urlencoded" media type.
-
MULTIPART_FORM_DATA
public static final String MULTIPART_FORM_DATA
AStringconstant representing "multipart/form-data" media type.- See Also:
- Constant Field Values
-
MULTIPART_FORM_DATA_TYPE
public static final MediaType MULTIPART_FORM_DATA_TYPE
AMediaTypeconstant representing "multipart/form-data" media type.
-
APPLICATION_OCTET_STREAM
public static final String APPLICATION_OCTET_STREAM
AStringconstant representing "application/octet-stream" media type.- See Also:
- Constant Field Values
-
APPLICATION_OCTET_STREAM_TYPE
public static final MediaType APPLICATION_OCTET_STREAM_TYPE
AMediaTypeconstant representing "application/octet-stream" media type.
-
TEXT_PLAIN
public static final String TEXT_PLAIN
AStringconstant representing "text/plain" media type.- See Also:
- Constant Field Values
-
TEXT_PLAIN_TYPE
public static final MediaType TEXT_PLAIN_TYPE
AMediaTypeconstant representing "text/plain" media type.
-
TEXT_XML
public static final String TEXT_XML
AStringconstant representing "text/xml" media type.- See Also:
- Constant Field Values
-
TEXT_XML_TYPE
public static final MediaType TEXT_XML_TYPE
AMediaTypeconstant representing "text/xml" media type.
-
TEXT_HTML
public static final String TEXT_HTML
AStringconstant representing "text/html" media type.- See Also:
- Constant Field Values
-
TEXT_HTML_TYPE
public static final MediaType TEXT_HTML_TYPE
AMediaTypeconstant representing "text/html" media type.
-
SERVER_SENT_EVENTS
public static final String SERVER_SENT_EVENTS
Stringrepresentation of Server sent events media type. (""text/event-stream"").- See Also:
- Constant Field Values
-
SERVER_SENT_EVENTS_TYPE
public static final MediaType SERVER_SENT_EVENTS_TYPE
Server sent events media type.
-
APPLICATION_JSON_PATCH_JSON
public static final String APPLICATION_JSON_PATCH_JSON
Stringrepresentation of "application/json-patch+json" media type..- See Also:
- Constant Field Values
-
APPLICATION_JSON_PATCH_JSON_TYPE
public static final MediaType APPLICATION_JSON_PATCH_JSON_TYPE
AMediaTypeconstant representing "application/json-patch+json" media type.
-
-
Constructor Detail
-
MediaType
public MediaType(String type, String subtype, Map<String,String> parameters)
Creates a new instance ofMediaTypewith the supplied type, subtype and parameters.- Parameters:
type- the primary type,nullis equivalent toMEDIA_TYPE_WILDCARD.subtype- the subtype,nullis equivalent toMEDIA_TYPE_WILDCARD.parameters- a map of media type parameters,nullis the same as an empty map.
-
MediaType
public MediaType(String type, String subtype)
Creates a new instance ofMediaTypewith the supplied type and subtype.- Parameters:
type- the primary type,nullis equivalent toMEDIA_TYPE_WILDCARDsubtype- the subtype,nullis equivalent toMEDIA_TYPE_WILDCARD
-
MediaType
public MediaType(String type, String subtype, String charset)
Creates a new instance ofMediaTypewith the supplied type, subtype and "charset" parameter.- Parameters:
type- the primary type,nullis equivalent toMEDIA_TYPE_WILDCARDsubtype- the subtype,nullis equivalent toMEDIA_TYPE_WILDCARDcharset- the "charset" parameter value. Ifnullor 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_TYPEinstead.
-
-
Method Detail
-
valueOf
public static MediaType valueOf(String type)
Creates a new instance ofMediaTypeby parsing the supplied string.- Parameters:
type- the media type string.- Returns:
- the newly created MediaType.
- Throws:
IllegalArgumentException- if the supplied string cannot be parsed or isnull.
-
getType
public 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 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 Map<String,String> getParameters()
Getter for a read-only parameter map. Keys are case-insensitive.- Returns:
- an immutable map of parameters.
-
withCharset
public MediaType withCharset(String charset)
Create a newMediaTypeinstance 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(Object obj)
Comparesobjto 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 fromMediaTypeclass 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.
-
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 fromMediaTypeclass 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.
-
-