org.apache.james.mime4j.message
Class AbstractHeader

java.lang.Object
  extended by org.apache.james.mime4j.message.AbstractHeader
All Implemented Interfaces:
java.lang.Iterable<Field>, Header
Direct Known Subclasses:
HeaderImpl

public abstract class AbstractHeader
extends java.lang.Object
implements Header

Abstract MIME header.


Constructor Summary
AbstractHeader()
          Creates a new empty Header.
AbstractHeader(Header other)
          Creates a new Header from the specified Header.
 
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

AbstractHeader

public AbstractHeader()
Creates a new empty Header.


AbstractHeader

public AbstractHeader(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.
Method Detail

addField

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

Specified by:
addField in interface Header
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.

Specified by:
getFields in interface Header
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.

Specified by:
getField in interface Header
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.

Specified by:
getFields in interface Header
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>
Specified by:
iterator in interface Header
Returns:
an iterator.

removeFields

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

Specified by:
removeFields in interface Header
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.

Specified by:
setField in interface Header
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-2012 The Apache Software Foundation. All Rights Reserved.