org.apache.commons.net.nntp

Class SimpleNNTPHeader

public class SimpleNNTPHeader extends Object

This class is used to construct the bare minimum acceptable header for most news readers. 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;
 

Author: Daniel F. Savarese

See Also:

Constructor Summary
SimpleNNTPHeader(String from, String subject)
Creates a new SimpleNNTPHeader instance initialized with the given from and subject header field values.
Method Summary
voidaddHeaderField(String headerField, String value)
Adds an arbitrary header field with the given value to the article header.
voidaddNewsgroup(String newsgroup)
Adds a newsgroup to the article Newsgroups: field.
StringgetFromAddress()
Returns the address used in the From: header field.
StringgetNewsgroups()
Returns the contents of the Newsgroups: header field.
StringgetSubject()
Returns the subject used in the Subject: header field.

Constructor Detail

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 Detail

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 convertered 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()
Returns the address used in the From: header field.

Returns: The from address.

getNewsgroups

public String getNewsgroups()
Returns 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()
Returns the subject used in the Subject: header field.

Returns: The subject.