Class ContentType


  • public class ContentType
    extends java.lang.Object
    This class represents a MIME Content-Type value. It provides methods to parse a Content-Type string into individual components and to generate a MIME style Content-Type string.
    Author:
    John Mani
    • Constructor Summary

      Constructors 
      Constructor Description
      ContentType()
      No-arg Constructor.
      ContentType​(java.lang.String s)
      Constructor that takes a Content-Type string.
      ContentType​(java.lang.String primaryType, java.lang.String subType, ParameterList list)
      Constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String getBaseType()
      Return the MIME type string, without the parameters.
      java.lang.String getParameter​(java.lang.String name)
      Return the specified parameter value.
      ParameterList getParameterList()
      Return a ParameterList object that holds all the available parameters.
      java.lang.String getPrimaryType()
      Return the primary type.
      java.lang.String getSubType()
      Return the subType.
      boolean match​(ContentType cType)
      Match with the specified ContentType object.
      boolean match​(java.lang.String s)
      Match with the specified content-type string.
      void setParameter​(java.lang.String name, java.lang.String value)
      Set the specified parameter.
      void setParameterList​(ParameterList list)
      Set a new ParameterList.
      void setPrimaryType​(java.lang.String primaryType)
      Set the primary type.
      void setSubType​(java.lang.String subType)
      Set the subType.
      java.lang.String toString()
      Retrieve a RFC2045 style string representation of this Content-Type.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • ContentType

        public ContentType()
        No-arg Constructor.
      • ContentType

        public ContentType​(java.lang.String primaryType,
                           java.lang.String subType,
                           ParameterList list)
        Constructor.
        Parameters:
        primaryType - primary type
        subType - subType
        list - ParameterList
      • ContentType

        public ContentType​(java.lang.String s)
                    throws ParseException
        Constructor that takes a Content-Type string. The String is parsed into its constituents: primaryType, subType and parameters. A ParseException is thrown if the parse fails.
        Parameters:
        s - the Content-Type string.
        Throws:
        ParseException - if the parse fails.
    • Method Detail

      • getPrimaryType

        public java.lang.String getPrimaryType()
        Return the primary type.
        Returns:
        the primary type
      • getSubType

        public java.lang.String getSubType()
        Return the subType.
        Returns:
        the subType
      • getBaseType

        public java.lang.String getBaseType()
        Return the MIME type string, without the parameters. The returned value is basically the concatenation of the primaryType, the '/' character and the secondaryType.
        Returns:
        the type
      • getParameter

        public java.lang.String getParameter​(java.lang.String name)
        Return the specified parameter value. Returns null if this parameter is absent.
        Parameters:
        name - the parameter name
        Returns:
        parameter value
      • getParameterList

        public ParameterList getParameterList()
        Return a ParameterList object that holds all the available parameters. Returns null if no parameters are available.
        Returns:
        ParameterList
      • setPrimaryType

        public void setPrimaryType​(java.lang.String primaryType)
        Set the primary type. Overrides existing primary type.
        Parameters:
        primaryType - primary type
      • setSubType

        public void setSubType​(java.lang.String subType)
        Set the subType. Replaces the existing subType.
        Parameters:
        subType - the subType
      • setParameter

        public void setParameter​(java.lang.String name,
                                 java.lang.String value)
        Set the specified parameter. If this parameter already exists, it is replaced by this new value.
        Parameters:
        name - parameter name
        value - parameter value
      • setParameterList

        public void setParameterList​(ParameterList list)
        Set a new ParameterList.
        Parameters:
        list - ParameterList
      • toString

        public java.lang.String toString()
        Retrieve a RFC2045 style string representation of this Content-Type. Returns an empty string if the conversion failed.
        Overrides:
        toString in class java.lang.Object
        Returns:
        RFC2045 style string
      • match

        public boolean match​(ContentType cType)
        Match with the specified ContentType object. This method compares only the primaryType and subType . The parameters of both operands are ignored.

        For example, this method will return true when comparing the ContentTypes for "text/plain" and "text/plain; charset=foobar". If the subType of either operand is the special character '*', then the subtype is ignored during the match. For example, this method will return true when comparing the ContentTypes for "text/plain" and "text/*"

        Parameters:
        cType - ContentType to compare this against
        Returns:
        true if it matches
      • match

        public boolean match​(java.lang.String s)
        Match with the specified content-type string. This method compares only the primaryType and subType . The parameters of both operands are ignored.

        For example, this method will return true when comparing the ContentType for "text/plain" with "text/plain; charset=foobar". If the subType of either operand is the special character '*', then the subtype is ignored during the match. For example, this method will return true when comparing the ContentType for "text/plain" with "text/*"

        Parameters:
        s - the content-type string to match
        Returns:
        true if it matches