Package org.apache.commons.net.nntp

# Class SimpleNNTPHeader

java.lang.Object
org.apache.commons.net.nntp.SimpleNNTPHeader

public class SimpleNNTPHeader extends Object
This class is used to construct the bare minimum acceptable header for most newsreaders. To construct more complicated headers you should refer to RFC 822. When the Java Mail API is finalized, you will be able to use it to compose fully compliant Internet text messages.

The main purpose of the class is to faciliatate the article posting process, by relieving the programmer from having to explicitly format an article header. For example:

     writer = client.postArticle();
     if (writer == null) // failure
         return false;
     header = new SimpleNNTPHeader("foobar@foo.com", "Just testing");
     header.addNewsgroup("alt.test");
     header.addHeaderField("Organization", "Foobar, Inc.");
     writer.write(header.toString());
     writer.write("This is just a test");
     writer.close();
     if (!client.completePendingCommand()) // failure
         return false;

See Also:
  - `NNTPClient`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SimpleNNTPHeader(String from, String subject)`
  Creates a new SimpleNNTPHeader instance initialized with the given from and subject header field values.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addHeaderField(String headerField, String value)`
  Adds an arbitrary header field with the given value to the article header.
  `void`
  `addNewsgroup(String newsgroup)`
  Adds a newsgroup to the article `Newsgroups:` field.
  `String`
  `getFromAddress()`
  Gets the address used in the `From:` header field.
  `String`
  `getNewsgroups()`
  Gets the contents of the `Newsgroups:` header field.
  `String`
  `getSubject()`
  Gets the subject used in the `Subject:` header field.
  `String`
  `toString()`
  Converts the SimpleNNTPHeader to a properly formatted header in the form of a String, including the blank line used to separate the header from the article body.

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

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

- ## Constructor Details

  - ### SimpleNNTPHeader

    public SimpleNNTPHeader(String from, String subject)
    Creates a new SimpleNNTPHeader instance initialized with the given from and subject header field values.
    Parameters:
      `from` - The value of the `From:` header field. This should be the article poster's email address.
      `subject` - The value of the `Subject:` header field. This should be the subject of the article.

- ## Method Details

  - ### addHeaderField

    public void addHeaderField(String headerField, String value)
    Adds an arbitrary header field with the given value to the article header. These headers will be written after the `From`, Newsgroups, and Subject fields when the SimpleNNTPHeader is converted to a string. An example use would be:

         header.addHeaderField("Organization", "Foobar, Inc.");

    Parameters:
      `headerField` - The header field to add, not including the colon.
      `value` - The value of the added header field.

  - ### addNewsgroup

    public void addNewsgroup(String newsgroup)
    Adds a newsgroup to the article `Newsgroups:` field.
    Parameters:
      `newsgroup` - The newsgroup to add to the article's newsgroup distribution list.

  - ### getFromAddress

    public String getFromAddress()
    Gets the address used in the `From:` header field.
    Returns:
      The from address.

  - ### getNewsgroups

    public String getNewsgroups()
    Gets the contents of the `Newsgroups:` header field.
    Returns:
      The comma-separated list of newsgroups to which the article is being posted.

  - ### getSubject

    public String getSubject()
    Gets the subject used in the `Subject:` header field.
    Returns:
      The subject.

  - ### toString

    public String toString()
    Converts the SimpleNNTPHeader to a properly formatted header in the form of a String, including the blank line used to separate the header from the article body.
    Overrides:
      `toString` in class `Object`
    Returns:
      The article header in the form of a String.