Google Data APIs Client Library (1.41.1)



com.google.gdata.util
Class ContentType

java.lang.Object
  extended by com.google.gdata.util.ContentType
All Implemented Interfaces:
java.io.Serializable

public class ContentType
extends java.lang.Object
implements java.io.Serializable

Simple class for parsing and generating Content-Type header values, per RFC 2045 (MIME) and 2616 (HTTP 1.1).

See Also:
Serialized Form

Field Summary
static ContentType ANY
          Wildcard content type that will match any MIME type
static ContentType APPLICATION_XML
          A ContentType constant that describes the application/xml content type.
static ContentType ATOM
          A ContentType constant that describes the base unqualified Atom content type.
static ContentType ATOM_ENTRY
          A ContentType constant that describes the qualified Atom entry content type.
static ContentType ATOM_FEED
          A ContentType constant that describes the qualified Atom feed content type.
static ContentType ATOM_SERVICE
          A ContentType constant that describes the Atom Service content type.
static java.lang.String ATTR_CHARSET
          Name of the attribute that contains the encoding character set for the content type.
static ContentType GDATA_ERROR
          A ContentType constant that describes the GData error content type.
static ContentType JAVASCRIPT
          A ContentType constant that describes the Javascript content type.
static ContentType JSON
          A ContentType constant that describes the JSON content type.
static ContentType MESSAGE_RFC822
          A ContentType constant that indicates that the body contains an encapsulated message, with the syntax of an RFC 822 email message.
static ContentType MULTIPART_RELATED
          A ContentType constant that describes the MIME multipart/related content type.
static ContentType OPENSEARCH
          A ContentType constant that describes the OpenSearch description document
static ContentType RSS
          A ContentType constant that describes the RSS channel/item content type.
static ContentType TEXT_HTML
          A ContentType constant that describes the generic text/html content type.
static ContentType TEXT_PLAIN
          A ContentType constant that describes the generic text/plain content type.
static ContentType TEXT_XML
          A ContentType constant that describes the generic text/xml content type.
 
Constructor Summary
ContentType()
          Constructs a new instance with default media type
ContentType(java.lang.String typeHeader)
          Constructs a new instance from a content-type header value parsing the MIME content type (RFC2045) format.
 
Method Summary
 boolean equals(java.lang.Object o)
           
static ContentType getAtomEntry()
          Returns the ContentType that should be used in contexts that expect an Atom entry.
static ContentType getAtomFeed()
          Returns the ContentType that should be used in contexts that expect an Atom feed.
 java.lang.String getAttribute(java.lang.String name)
          Returns the additional attribute by name of the content type.
 java.util.Map<java.lang.String,java.lang.String> getAttributes()
          Returns the additional attributes of the content type.
static ContentType getBestContentType(java.lang.String acceptHeader, java.util.List<ContentType> actualContentTypes)
          Determines the best "Content-Type" header to use in a servlet response based on the "Accept" header from a servlet request.
 java.lang.String getCharset()
           
 java.lang.String getMediaType()
          Returns the full media type
 java.lang.String getSubType()
           
 java.lang.String getType()
           
 int hashCode()
           
 ContentType lock()
          Makes the object immutable and returns it.
 boolean match(ContentType acceptedContentType)
          Returns whether this content type is match by the content type found in the "Accept" header field of an HTTP request.
 void setSubType(java.lang.String subType)
           
 void setType(java.lang.String type)
           
 java.lang.String toString()
          Generates the Content-Type value
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

ATTR_CHARSET

public static final java.lang.String ATTR_CHARSET
Name of the attribute that contains the encoding character set for the content type.

See Also:
getCharset(), Constant Field Values

ATOM

public static final ContentType ATOM
A ContentType constant that describes the base unqualified Atom content type.


ATOM_ENTRY

public static final ContentType ATOM_ENTRY
A ContentType constant that describes the qualified Atom entry content type.

See Also:
getAtomEntry()

ATOM_FEED

public static final ContentType ATOM_FEED
A ContentType constant that describes the qualified Atom feed content type.

See Also:
getAtomFeed()

ATOM_SERVICE

public static final ContentType ATOM_SERVICE
A ContentType constant that describes the Atom Service content type.


RSS

public static final ContentType RSS
A ContentType constant that describes the RSS channel/item content type.


JSON

public static final ContentType JSON
A ContentType constant that describes the JSON content type.


JAVASCRIPT

public static final ContentType JAVASCRIPT
A ContentType constant that describes the Javascript content type.


TEXT_XML

public static final ContentType TEXT_XML
A ContentType constant that describes the generic text/xml content type.


TEXT_HTML

public static final ContentType TEXT_HTML
A ContentType constant that describes the generic text/html content type.


TEXT_PLAIN

public static final ContentType TEXT_PLAIN
A ContentType constant that describes the generic text/plain content type.


GDATA_ERROR

public static final ContentType GDATA_ERROR
A ContentType constant that describes the GData error content type.


OPENSEARCH

public static final ContentType OPENSEARCH
A ContentType constant that describes the OpenSearch description document


MULTIPART_RELATED

public static final ContentType MULTIPART_RELATED
A ContentType constant that describes the MIME multipart/related content type.


APPLICATION_XML

public static final ContentType APPLICATION_XML
A ContentType constant that describes the application/xml content type.


MESSAGE_RFC822

public static final ContentType MESSAGE_RFC822
A ContentType constant that indicates that the body contains an encapsulated message, with the syntax of an RFC 822 email message.


ANY

public static final ContentType ANY
Wildcard content type that will match any MIME type

Constructor Detail

ContentType

public ContentType()
Constructs a new instance with default media type


ContentType

public ContentType(java.lang.String typeHeader)
Constructs a new instance from a content-type header value parsing the MIME content type (RFC2045) format. If the type is null, then media type and charset will be initialized to default values.

Parameters:
typeHeader - content type value in RFC2045 header format.
Method Detail

getAtomEntry

public static ContentType getAtomEntry()
Returns the ContentType that should be used in contexts that expect an Atom entry.


getAtomFeed

public static ContentType getAtomFeed()
Returns the ContentType that should be used in contexts that expect an Atom feed.


getBestContentType

public static ContentType getBestContentType(java.lang.String acceptHeader,
                                             java.util.List<ContentType> actualContentTypes)
Determines the best "Content-Type" header to use in a servlet response based on the "Accept" header from a servlet request.

Parameters:
acceptHeader - "Accept" header value from a servlet request (not null)
actualContentTypes - actual content types in descending order of preference (non-empty, and each entry is of the form "type/subtype" without the wildcard char '*') or null if no "Accept" header was specified
Returns:
the best content type to use (or null on no match).

getType

public java.lang.String getType()

setType

public void setType(java.lang.String type)

getSubType

public java.lang.String getSubType()

setSubType

public void setSubType(java.lang.String subType)

getMediaType

public java.lang.String getMediaType()
Returns the full media type


lock

public ContentType lock()
Makes the object immutable and returns it. This should at least be used when keeping a ContentType instance as a static.


getAttributes

public java.util.Map<java.lang.String,java.lang.String> getAttributes()
Returns the additional attributes of the content type.


getAttribute

public java.lang.String getAttribute(java.lang.String name)
Returns the additional attribute by name of the content type.

Parameters:
name - attribute name

getCharset

public java.lang.String getCharset()

match

public boolean match(ContentType acceptedContentType)
Returns whether this content type is match by the content type found in the "Accept" header field of an HTTP request.

For atom content type, this method will check the optional attribute 'type'. If the type attribute is set in both this and acceptedContentType, then they must be the same. That is, application/atom+xml will match both application/atom+xml;type=feed and application/atom+xml;type=entry, but application/atom+xml;type=entry will not match application/atom+xml;type=feed.a

Parameters:
acceptedContentType - content type found in the "Accept" header field of an HTTP request

toString

public java.lang.String toString()
Generates the Content-Type value

Overrides:
toString in class java.lang.Object

equals

public boolean equals(java.lang.Object o)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object