Coverage report

| %line | %branch
--- | --- | ---
org.apache.commons.net.nntp.SimpleNNTPHeader |
0% |
0% |

1 |  |
     /*
2 |  |
      * Copyright 2001-2005 The Apache Software Foundation
3 |  |
      *
4 |  |
      * Licensed under the Apache License, Version 2.0 (the "License");
5 |  |
      * you may not use this file except in compliance with the License.
6 |  |
      * You may obtain a copy of the License at
7 |  |
      *
8 |  |
      *     http://www.apache.org/licenses/LICENSE-2.0
9 |  |
      *
10 |  |
      * Unless required by applicable law or agreed to in writing, software
11 |  |
      * distributed under the License is distributed on an "AS IS" BASIS,
12 |  |
      * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 |  |
      * See the License for the specific language governing permissions and
14 |  |
      * limitations under the License.
15 |  |
      */
16 |  |
     package org.apache.commons.net.nntp;
17 |  |
18 |  |
     /***
19 |  |
      * This class is used to construct the bare minimum
20 |  |
      * acceptable header for most news readers.  To construct more
21 |  |
      * complicated headers you should refer to RFC 822.  When the
22 |  |
      * Java Mail API is finalized, you will be
23 |  |
      * able to use it to compose fully compliant Internet text messages.
24 |  |
      * <p>
25 |  |
      * The main purpose of the class is to faciliatate the article posting
26 |  |
      * process, by relieving the programmer from having to explicitly format
27 |  |
      * an article header.  For example:
28 |  |
      * <pre>
29 |  |
      * writer = client.postArticle();
30 |  |
      * if(writer == null) // failure
31 |  |
      *   return false;
32 |  |
      * header = new SimpleNNTPHeader("foobar@foo.com", "Just testing");
33 |  |
      * header.addNewsgroup("alt.test");
34 |  |
      * header.addHeaderField("Organization", "Foobar, Inc.");
35 |  |
      * writer.write(header.toString());
36 |  |
      * writer.write("This is just a test");
37 |  |
      * writer.close();
38 |  |
      * if(!client.completePendingCommand()) // failure
39 |  |
      *   return false;
40 |  |
      * </pre>
41 |  |
      * <p>
42 |  |
      * <p>
43 |  |
      * @author Daniel F. Savarese
44 |  |
      * @see NNTPClient
45 |  |
      ***/
46 |  |
47 |  |
     public class SimpleNNTPHeader
48 |  |
     {
49 |  |
         private String __subject, __from;
50 |  |
         private StringBuffer __newsgroups;
51 |  |
         private StringBuffer __headerFields;
52 |  |
         private int __newsgroupCount;
53 |  |
54 |  |
         /***
55 |  |
          * Creates a new SimpleNNTPHeader instance initialized with the given
56 |  |
          * from and subject header field values.
57 |  |
          * <p>
58 |  |
          * @param from  The value of the <code>From:</code> header field.  This
59 |  |
          *              should be the article poster's email address.
60 |  |
          * @param subject  The value of the <code>Subject:</code> header field.
61 |  |
          *              This should be the subject of the article.
62 |  |
          ***/
63 |  |
         public SimpleNNTPHeader(String from, String subject)
64 | 0 |
         {
65 | 0 |
             __from = from;
66 | 0 |
             __subject = subject;
67 | 0 |
             __newsgroups = new StringBuffer();
68 | 0 |
             __headerFields = new StringBuffer();
69 | 0 |
             __newsgroupCount = 0;
70 | 0 |
         }
71 |  |
72 |  |
         /***
73 |  |
          * Adds a newsgroup to the article <code>Newsgroups:</code> field.
74 |  |
          * <p>
75 |  |
          * @param newsgroup  The newsgroup to add to the article's newsgroup
76 |  |
          *                   distribution list.
77 |  |
          ***/
78 |  |
         public void addNewsgroup(String newsgroup)
79 |  |
         {
80 | 0 |
             if (__newsgroupCount++ > 0)
81 | 0 |
                 __newsgroups.append(',');
82 | 0 |
             __newsgroups.append(newsgroup);
83 | 0 |
         }
84 |  |
85 |  |
         /***
86 |  |
          * Adds an arbitrary header field with the given value to the article
87 |  |
          * header.  These headers will be written after the From, Newsgroups,
88 |  |
          * and Subject fields when the SimpleNNTPHeader is convertered to a string.
89 |  |
          * An example use would be:
90 |  |
          * <pre>
91 |  |
          * header.addHeaderField("Organization", "Foobar, Inc.");
92 |  |
          * </pre>
93 |  |
          * <p>
94 |  |
          * @param headerField  The header field to add, not including the colon.
95 |  |
          * @param value  The value of the added header field.
96 |  |
          ***/
97 |  |
         public void addHeaderField(String headerField, String value)
98 |  |
         {
99 | 0 |
             __headerFields.append(headerField);
100 | 0 |
             __headerFields.append(": ");
101 | 0 |
             __headerFields.append(value);
102 | 0 |
             __headerFields.append('\n');
103 | 0 |
         }
104 |  |
105 |  |
106 |  |
         /***
107 |  |
          * Returns the address used in the <code> From: </code> header field.
108 |  |
          * <p>
109 |  |
          * @return The from address.
110 |  |
          ***/
111 |  |
         public String getFromAddress()
112 |  |
         {
113 | 0 |
             return __from;
114 |  |
         }
115 |  |
116 |  |
         /***
117 |  |
          * Returns the subject used in the <code> Subject: </code> header field.
118 |  |
          * <p>
119 |  |
          * @return The subject.
120 |  |
          ***/
121 |  |
         public String getSubject()
122 |  |
         {
123 | 0 |
             return __subject;
124 |  |
         }
125 |  |
126 |  |
         /***
127 |  |
          * Returns the contents of the <code> Newsgroups: </code> header field.
128 |  |
          * <p>
129 |  |
          * @return The comma-separated list of newsgroups to which the article
130 |  |
          *         is being posted.
131 |  |
          ***/
132 |  |
         public String getNewsgroups()
133 |  |
         {
134 | 0 |
             return __newsgroups.toString();
135 |  |
         }
136 |  |
137 |  |
         /***
138 |  |
          * Converts the SimpleNNTPHeader to a properly formatted header in
139 |  |
          * the form of a String, including the blank line used to separate
140 |  |
          * the header from the article body.
141 |  |
          * <p>
142 |  |
          * @return The article header in the form of a String.
143 |  |
          ***/
144 |  |
         public String toString()
145 |  |
         {
146 | 0 |
             StringBuffer header = new StringBuffer();
147 |  |
148 | 0 |
             header.append("From: ");
149 | 0 |
             header.append(__from);
150 | 0 |
             header.append("\nNewsgroups: ");
151 | 0 |
             header.append(__newsgroups.toString());
152 | 0 |
             header.append("\nSubject: ");
153 | 0 |
             header.append(__subject);
154 | 0 |
             header.append('\n');
155 | 0 |
             if (__headerFields.length() > 0)
156 | 0 |
                 header.append(__headerFields.toString());
157 | 0 |
             header.append('\n');
158 |  |
159 | 0 |
             return header.toString();
160 |  |
         }
161 |  |
     }

This report is generated by jcoverage, Maven and Maven JCoverage Plugin.