javax.mail.internet
Class InternetHeaders

java.lang.Object
  extended byjavax.mail.internet.InternetHeaders

public class InternetHeaders
extends java.lang.Object

Class that represents the RFC822 headers associated with a message.

Version:
$Rev: 154539 $ $Date: 2005-02-20 10:59:48 -0700 (Sun, 20 Feb 2005) $

Nested Class Summary
private static class InternetHeaders.InternetHeader
           
 
Field Summary
private  java.util.LinkedHashMap headers
           
 
Constructor Summary
InternetHeaders()
          Create an empty InternetHeaders
InternetHeaders(java.io.InputStream in)
          Create a new InternetHeaders initialized by reading headers from the stream.
 
Method Summary
 void addHeader(java.lang.String name, java.lang.String value)
          Add a new value to the header with the supplied name.
 void addHeaderLine(java.lang.String line)
           
 java.util.Enumeration getAllHeaderLines()
           
 java.util.Enumeration getAllHeaders()
          Return all headers.
 java.lang.String[] getHeader(java.lang.String name)
          Return all the values for the specified header.
 java.lang.String getHeader(java.lang.String name, java.lang.String delimiter)
          Return the values for the specified header as a single String.
(package private)  InternetAddress[] getHeaderAsAddresses(java.lang.String name, boolean strict)
          Return a header as a list of InternetAddresses
private  java.util.List getHeaderList(java.lang.String name)
           
 java.util.Enumeration getMatchingHeaderLines(java.lang.String[] names)
           
 java.util.Enumeration getMatchingHeaders(java.lang.String[] names)
           
 java.util.Enumeration getNonMatchingHeaderLines(java.lang.String[] names)
           
 java.util.Enumeration getNonMatchingHeaders(java.lang.String[] names)
           
 void load(java.io.InputStream in)
          Read and parse the supplied stream and add all headers to the current set.
 void removeHeader(java.lang.String name)
          Remove all header entries with the supplied name
(package private)  void setHeader(java.lang.String name, Address[] addresses)
           
 void setHeader(java.lang.String name, java.lang.String value)
          Set the value of the header to the supplied value; any existing headers are removed.
private  void setHeaderList(java.lang.String name, java.util.List list)
           
(package private)  void writeTo(java.io.OutputStream out, java.lang.String[] ignore)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

headers

private final java.util.LinkedHashMap headers
Constructor Detail

InternetHeaders

public InternetHeaders()
Create an empty InternetHeaders


InternetHeaders

public InternetHeaders(java.io.InputStream in)
                throws MessagingException
Create a new InternetHeaders initialized by reading headers from the stream.

Parameters:
in - the RFC822 input stream to load from
Throws:
MessagingException - if there is a problem pasring the stream
Method Detail

load

public void load(java.io.InputStream in)
          throws MessagingException
Read and parse the supplied stream and add all headers to the current set.

Parameters:
in - the RFC822 input stream to load from
Throws:
MessagingException - if there is a problem pasring the stream

getHeader

public java.lang.String[] getHeader(java.lang.String name)
Return all the values for the specified header.

Parameters:
name - the header to return
Returns:
the values for that header, or null if the header is not present

getHeader

public java.lang.String getHeader(java.lang.String name,
                                  java.lang.String delimiter)
Return the values for the specified header as a single String. If the header has more than one value then all values are concatenated together separated by the supplied delimiter.

Parameters:
name - the header to return
delimiter - the delimiter used in concatenation
Returns:
the header as a single String

setHeader

public void setHeader(java.lang.String name,
                      java.lang.String value)
Set the value of the header to the supplied value; any existing headers are removed.

Parameters:
name - the name of the header
value - the new value

addHeader

public void addHeader(java.lang.String name,
                      java.lang.String value)
Add a new value to the header with the supplied name.

Parameters:
name - the name of the header to add a new value for
value - another value

removeHeader

public void removeHeader(java.lang.String name)
Remove all header entries with the supplied name

Parameters:
name - the header to remove

getAllHeaders

public java.util.Enumeration getAllHeaders()
Return all headers.

Returns:
an Enumeration
containing all headers

getMatchingHeaders

public java.util.Enumeration getMatchingHeaders(java.lang.String[] names)

getNonMatchingHeaders

public java.util.Enumeration getNonMatchingHeaders(java.lang.String[] names)

addHeaderLine

public void addHeaderLine(java.lang.String line)

getAllHeaderLines

public java.util.Enumeration getAllHeaderLines()

getMatchingHeaderLines

public java.util.Enumeration getMatchingHeaderLines(java.lang.String[] names)

getNonMatchingHeaderLines

public java.util.Enumeration getNonMatchingHeaderLines(java.lang.String[] names)

getHeaderAsAddresses

InternetAddress[] getHeaderAsAddresses(java.lang.String name,
                                       boolean strict)
                                 throws MessagingException
Return a header as a list of InternetAddresses

Parameters:
name - the header to get
strict - whether the header should be strictly parser; see InternetAddress.parseHeader(java.util.List, String, boolean, boolean)
Returns:
Throws:
MessagingException

setHeader

void setHeader(java.lang.String name,
               Address[] addresses)

getHeaderList

private java.util.List getHeaderList(java.lang.String name)

setHeaderList

private void setHeaderList(java.lang.String name,
                           java.util.List list)

writeTo

void writeTo(java.io.OutputStream out,
             java.lang.String[] ignore)
       throws java.io.IOException
Throws:
java.io.IOException