SmtpResponseReader (Apache Ant API)
Description: declaration: package: org.apache.tools.mail, class: SmtpResponseReader

Package org.apache.tools.mail

# Class SmtpResponseReader

java.lang.Object
org.apache.tools.mail.SmtpResponseReader

public class SmtpResponseReader extends Object
A wrapper around the raw input from the SMTP server that assembles multi line responses into a single String.

The same rules used here would apply to FTP and other Telnet based protocols as well.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected BufferedReader`
  `reader`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SmtpResponseReader(InputStream in)`
  Wrap this input stream.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  Closes the underlying stream.
  `String`
  `getResponse()`
  Read until the server indicates that the response is complete.
  `protected boolean`
  `hasMoreLines(String line)`
  Should we expect more input?

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

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

- ## Field Details

  - ### reader

    protected BufferedReader reader

- ## Constructor Details

  - ### SmtpResponseReader

    public SmtpResponseReader(InputStream in)
    Wrap this input stream.
    Parameters:
      `in` - the stream to wrap.

- ## Method Details

  - ### getResponse

    public String getResponse() throws IOException
    Read until the server indicates that the response is complete.
    Returns:
      Response code (3 digits) + Blank + Text from all response line concatenated (with blanks replacing the \r\n sequences).
    Throws:
      `IOException` - on error.

  - ### close

    public void close() throws IOException
    Closes the underlying stream.
    Throws:
      `IOException` - on error.

  - ### hasMoreLines

    protected boolean hasMoreLines(String line)
    Should we expect more input?
    Parameters:
      `line` - the line to check.
    Returns:
      true if there are more lines to check.