Class Response

java.lang.Object
com.sun.mail.iap.Response
Direct Known Subclasses:
IMAPResponse

public class Response extends Object
This class represents a response obtained from the input stream of an IMAP server.
Author:
John Mani, Bill Shannon
  • Field Details

  • Constructor Details

    • 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(Protocol p) throws IOException, ProtocolException
      Read a new Response from the given Protocol
      Parameters:
      p - the Protocol object
      Throws:
      IOException - for I/O errors
      ProtocolException - for protocol failures
    • Response

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

    • 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.
    • toString

      public String toString()
      Overrides:
      toString in class Object