com.sun.mail.iap

## 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

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `BAD`
    `protected byte[]` | `buffer`
    `static int` | `BYE`
    `static int` | `CONTINUATION`
    `protected Exception` | `ex`
    `protected int` | `index`
    `static int` | `NO`
    `static int` | `OK`
    `protected int` | `pindex`
    `protected int` | `size`
    `static int` | `SYNTHETIC`
    `protected String` | `tag`
    `static int` | `TAG_MASK`
    `static int` | `TAGGED`
    `protected int` | `type`
    `static int` | `TYPE_MASK`
    `static int` | `UNTAGGED`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Response(Protocol p)` Read a new Response from the given Protocol
    `Response(Response r)` Copy constructor.
    `Response(String s)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static Response` | `byeResponse(Exception ex)` Return a Response object that looks like a BYE protocol response.
    `Exception` | `getException()` Return the exception for a synthetic BYE response.
    `String` | `getRest()` Return the rest of the response as a string, usually used to return the arbitrary message text after a NO response.
    `String` | `getTag()` Return the tag, if this is a tagged statement.
    `int` | `getType()`
    `boolean` | `isBAD()`
    `boolean` | `isBYE()`
    `boolean` | `isContinuation()`
    `boolean` | `isNO()`
    `boolean` | `isOK()`
    `boolean` | `isSynthetic()`
    `boolean` | `isTagged()`
    `boolean` | `isUnTagged()`
    `byte` | `peekByte()`
    `String` | `readAtom()` Extract an ATOM, starting at the current position.
    `String` | `readAtomString()` Extract an ASTRING, starting at the current position and return as a String.
    `String[]` | `readAtomStringList()`
    `byte` | `readByte()` Return the next byte from this Statement.
    `ByteArray` | `readByteArray()` Extract a NSTRING, starting at the current position.
    `ByteArrayInputStream` | `readBytes()` Extract a NSTRING, starting at the current position.
    `long` | `readLong()` Extract a long number, starting at the current position.
    `int` | `readNumber()` Extract an integer, starting at the current position.
    `String` | `readString()` Extract a NSTRING, starting at the current position.
    `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 [].
    `String[]` | `readStringList()`
    `void` | `reset()` Reset pointer to beginning of response.
    `void` | `skip(int count)`
    `void` | `skipSpaces()`
    `void` | `skipToken()` Skip to the next space, for use in error recovery while parsing.
    `String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### index

          protected int index

    - #### pindex

          protected int pindex

    - #### size

          protected int size

    - #### buffer

          protected byte[] buffer

    - #### type

          protected int type

    - #### tag

          protected String tag

    - #### ex

          protected Exception ex

      Since:
        JavaMail 1.5.4

    - #### TAG_MASK

          public static final int TAG_MASK

      See Also:
        Constant Field Values

    - #### CONTINUATION

          public static final int CONTINUATION

      See Also:
        Constant Field Values

    - #### TAGGED

          public static final int TAGGED

      See Also:
        Constant Field Values

    - #### UNTAGGED

          public static final int UNTAGGED

      See Also:
        Constant Field Values

    - #### TYPE_MASK

          public static final int TYPE_MASK

      See Also:
        Constant Field Values

    - #### OK

          public static final int OK

      See Also:
        Constant Field Values

    - #### NO

          public static final int NO

      See Also:
        Constant Field Values

    - #### BAD

          public static final int BAD

      See Also:
        Constant Field Values

    - #### BYE

          public static final int BYE

      See Also:
        Constant Field Values

    - #### SYNTHETIC

          public static final int SYNTHETIC

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### Response

          public Response(String s)

    - #### 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 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

    - #### skipSpaces

          public void skipSpaces()

    - #### 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`

Copyright © 2016 Oracle. All rights reserved.