org.apache.james.mime4j.message
Class Header

java.lang.Object
  extended by org.apache.james.mime4j.message.Header
All Implemented Interfaces:
java.lang.Iterable<Field>

public class Header
extends java.lang.Object
implements java.lang.Iterable<Field>

The header of an entity (see RFC 2045).


Constructor Summary
Header()
          Creates a new empty Header.
Header(Header other)
          Creates a new Header from the specified Header.
Header(java.io.InputStream is)
          Creates a new Header from the specified stream.
 
Method Summary
 void addField(Field field)
          Adds a field to the end of the list of fields.
 Field getField(java.lang.String name)
          Gets a Field given a field name.
 java.util.List<Field> getFields()
          Gets the fields of this header.
 java.util.List<Field> getFields(java.lang.String name)
          Gets all Fields having the specified field name.
 java.util.Iterator<Field> iterator()
          Returns an iterator over the list of fields of this header.
 int removeFields(java.lang.String name)
          Removes all Fields having the specified field name.
 void setField(Field field)
          Sets or replaces a field.
 java.lang.String toString()
          Return Header Object as String representation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Header

public Header()
Creates a new empty Header.


Header

public Header(Header other)
Creates a new Header from the specified Header. The Header instance is initialized with a copy of the list of Fields of the specified Header. The Field objects are not copied because they are immutable and can safely be shared between headers.

Parameters:
other - header to copy.

Header

public Header(java.io.InputStream is)
       throws java.io.IOException,
              MimeIOException
Creates a new Header from the specified stream.

Parameters:
is - the stream to read the header from.
Throws:
java.io.IOException - on I/O errors.
MimeIOException - on MIME protocol violations.
Method Detail

addField

public void addField(Field field)
Adds a field to the end of the list of fields.

Parameters:
field - the field to add.

getFields

public java.util.List<Field> getFields()
Gets the fields of this header. The returned list will not be modifiable.

Returns:
the list of Field objects.

getField

public Field getField(java.lang.String name)
Gets a Field given a field name. If there are multiple such fields defined in this header the first one will be returned.

Parameters:
name - the field name (e.g. From, Subject).
Returns:
the field or null if none found.

getFields

public java.util.List<Field> getFields(java.lang.String name)
Gets all Fields having the specified field name.

Parameters:
name - the field name (e.g. From, Subject).
Returns:
the list of fields.

iterator

public java.util.Iterator<Field> iterator()
Returns an iterator over the list of fields of this header.

Specified by:
iterator in interface java.lang.Iterable<Field>
Returns:
an iterator.

removeFields

public int removeFields(java.lang.String name)
Removes all Fields having the specified field name.

Parameters:
name - the field name (e.g. From, Subject).
Returns:
number of fields removed.

setField

public void setField(Field field)
Sets or replaces a field. This method is useful for header fields such as Subject or Message-ID that should not occur more than once in a message. If this Header does not already contain a header field of the same name as the given field then it is added to the end of the list of fields (same behavior as addField(Field)). Otherwise the first occurrence of a field with the same name is replaced by the given field and all further occurrences are removed.

Parameters:
field - the field to set.

toString

public java.lang.String toString()
Return Header Object as String representation. Each headerline is seperated by "\r\n"

Overrides:
toString in class java.lang.Object
Returns:
headers


Copyright © 2004-2009 The Apache Software Foundation. All Rights Reserved.