Class Response

  • Direct Known Subclasses:
    IMAPResponse

    public class Response
    extends Object
    This class represents a response obtained from the input stream of an IMAP server.
    • Constructor Detail

      • Response

        public Response​(String s)
      • Response

        public Response​(String s,
                        boolean supportsUtf8)
        Constructor for testing.
        Parameters:
        s - the response string
        supportsUtf8 - allow UTF-8 in response?
        Since:
        JavaMail 1.6.0
      • Response

        public Response​(Response r)
        Copy constructor.
        Parameters:
        r - the Response to copy
    • Method Detail

      • byeResponse

        public static Response byeResponse​(Exception ex)
        Return a Response object that looks like a BYE protocol response. Include the details of the exception in the response string.
        Parameters:
        ex - the exception
        Returns:
        the synthetic Response object
      • supportsUtf8

        public boolean supportsUtf8()
        Does the server support UTF-8?
        Returns:
        true if the server supports UTF-8
        Since:
        JavaMail 1.6.0
      • skipSpaces

        public void skipSpaces()
      • isNextNonSpace

        public boolean isNextNonSpace​(char c)
        Skip past any spaces. If the next non-space character is c, consume it and return true. Otherwise stop at that point and return false.
        Parameters:
        c - the character to look for
        Returns:
        true if the character is found
      • skipToken

        public void skipToken()
        Skip to the next space, for use in error recovery while parsing.
      • skip

        public void skip​(int count)
      • peekByte

        public byte peekByte()
      • readByte

        public byte readByte()
        Return the next byte from this Statement.
        Returns:
        the next byte
      • readAtom

        public String readAtom()
        Extract an ATOM, starting at the current position. Updates the internal index to beyond the Atom.
        Returns:
        an Atom
      • readString

        public String readString​(char delim)
        Read a string as an arbitrary sequence of characters, stopping at the delimiter Used to read part of a response code inside [].
        Parameters:
        delim - the delimiter character
        Returns:
        the string
      • readStringList

        public String[] readStringList()
      • readAtomStringList

        public String[] readAtomStringList()
      • readNumber

        public int readNumber()
        Extract an integer, starting at the current position. Updates the internal index to beyond the number. Returns -1 if a number was not found.
        Returns:
        a number
      • readLong

        public long readLong()
        Extract a long number, starting at the current position. Updates the internal index to beyond the number. Returns -1 if a long number was not found.
        Returns:
        a long
      • readString

        public String readString()
        Extract a NSTRING, starting at the current position. Return it as a String. The sequence 'NIL' is returned as null NSTRING := QuotedString | Literal | "NIL"
        Returns:
        a String
      • readBytes

        public ByteArrayInputStream readBytes()
        Extract a NSTRING, starting at the current position. Return it as a ByteArrayInputStream. The sequence 'NIL' is returned as null NSTRING := QuotedString | Literal | "NIL"
        Returns:
        a ByteArrayInputStream
      • readByteArray

        public ByteArray readByteArray()
        Extract a NSTRING, starting at the current position. Return it as a ByteArray. The sequence 'NIL' is returned as null NSTRING := QuotedString | Literal | "NIL"
        Returns:
        a ByteArray
      • readAtomString

        public String readAtomString()
        Extract an ASTRING, starting at the current position and return as a String. An ASTRING can be a QuotedString, a Literal or an Atom (plus ']'). Any errors in parsing returns null ASTRING := QuotedString | Literal | 1*ASTRING_CHAR
        Returns:
        a String
      • getType

        public int getType()
      • isContinuation

        public boolean isContinuation()
      • isTagged

        public boolean isTagged()
      • isUnTagged

        public boolean isUnTagged()
      • isOK

        public boolean isOK()
      • isNO

        public boolean isNO()
      • isBAD

        public boolean isBAD()
      • isBYE

        public boolean isBYE()
      • isSynthetic

        public boolean isSynthetic()
      • getTag

        public String getTag()
        Return the tag, if this is a tagged statement.
        Returns:
        tag of this tagged statement
      • getRest

        public String getRest()
        Return the rest of the response as a string, usually used to return the arbitrary message text after a NO response.
        Returns:
        the rest of the response
      • getException

        public Exception getException()
        Return the exception for a synthetic BYE response.
        Returns:
        the exception
        Since:
        JavaMail 1.5.4
      • reset

        public void reset()
        Reset pointer to beginning of response.