Package com.sun.mail.iap
Class Response
java.lang.Object
com.sun.mail.iap.Response
- Direct Known Subclasses:
IMAPResponse
This class represents a response obtained from the input stream
of an IMAP server.
- Author:
- John Mani, Bill Shannon
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
protected byte[]
static final int
static final int
protected Exception
protected int
static final int
static final int
protected int
protected int
static final int
protected String
static final int
static final int
protected int
static final int
static final int
protected boolean
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic Response
byeResponse
(Exception ex) Return a Response object that looks like a BYE protocol response.Return the exception for a synthetic BYE response.getRest()
Return the rest of the response as a string, usually used to return the arbitrary message text after a NO response.getTag()
Return the tag, if this is a tagged statement.int
getType()
boolean
isBAD()
boolean
isBYE()
boolean
boolean
isNextNonSpace
(char c) Skip past any spaces.boolean
isNO()
boolean
isOK()
boolean
boolean
isTagged()
boolean
byte
peekByte()
readAtom()
Extract an ATOM, starting at the current position.Extract an ASTRING, starting at the current position and return as a String.String[]
byte
readByte()
Return the next byte from this Statement.Extract a NSTRING, starting at the current position.Extract a NSTRING, starting at the current position.long
readLong()
Extract a long number, starting at the current position.int
Extract an integer, starting at the current position.Extract a NSTRING, starting at the current position.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[]
void
reset()
Reset pointer to beginning of response.void
skip
(int count) void
void
Skip to the next space, for use in error recovery while parsing.boolean
Does the server support UTF-8?toString()
-
Field Details
-
index
protected int index -
pindex
protected int pindex -
size
protected int size -
buffer
protected byte[] buffer -
type
protected int type -
tag
-
ex
- Since:
- JavaMail 1.5.4
-
utf8
protected boolean utf8 -
TAG_MASK
public static final int TAG_MASK- See Also:
-
CONTINUATION
public static final int CONTINUATION- See Also:
-
TAGGED
public static final int TAGGED- See Also:
-
UNTAGGED
public static final int UNTAGGED- See Also:
-
TYPE_MASK
public static final int TYPE_MASK- See Also:
-
OK
public static final int OK- See Also:
-
NO
public static final int NO- See Also:
-
BAD
public static final int BAD- See Also:
-
BYE
public static final int BYE- See Also:
-
SYNTHETIC
public static final int SYNTHETIC- See Also:
-
-
Constructor Details
-
Response
-
Response
Constructor for testing.- Parameters:
s
- the response stringsupportsUtf8
- allow UTF-8 in response?- Since:
- JavaMail 1.6.0
-
Response
Read a new Response from the given Protocol- Parameters:
p
- the Protocol object- Throws:
IOException
- for I/O errorsProtocolException
- for protocol failures
-
Response
Copy constructor.- Parameters:
r
- the Response to copy
-
-
Method Details
-
byeResponse
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
Extract an ATOM, starting at the current position. Updates the internal index to beyond the Atom.- Returns:
- an Atom
-
readString
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
-
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
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
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
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
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
Return the tag, if this is a tagged statement.- Returns:
- tag of this tagged statement
-
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
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
-