org.apache.xmlbeans.impl.soap

## Class MimeHeaders

- java.lang.Object
- - org.apache.xmlbeans.impl.soap.MimeHeaders

    public class MimeHeaders
    extends Object

A container for `MimeHeader` objects, which represent the MIME headers present in a MIME part of a message.

This class is used primarily when an application wants to retrieve specific attachments based on certain MIME headers and values. This class will most likely be used by implementations of `AttachmentPart` and other MIME dependent parts of the JAXM API.

See Also:
  `SOAPMessage.getAttachments()`, `AttachmentPart`

### Field Summary

Fields
`protected Vector<MimeHeader>` `headers` A `Vector` containing the headers as `MimeHeader` instances.

### Constructor Summary

Constructors
Constructor and Description
`MimeHeaders()` Constructs a default `MimeHeaders` object initialized with an empty `Vector` object.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addHeader(String name, String value)` Adds a `MimeHeader` object with the specified name and value to this `MimeHeaders` object's list of headers.
`Iterator<MimeHeader>` `getAllHeaders()` Returns all the headers in this `MimeHeaders` object.
`String[]` `getHeader(String name)` Returns all of the values for the specified header as an array of `String` objects.
`Iterator<MimeHeader>` `getMatchingHeaders(String[] names)` Returns all the `MimeHeader` objects whose name matches a name in the given array of names.
`Iterator<MimeHeader>` `getNonMatchingHeaders(String[] names)` Returns all of the `MimeHeader` objects whose name does not match a name in the given array of names.
`void` `removeAllHeaders()` Removes all the header entries from this `MimeHeaders` object.
`void` `removeHeader(String name)` Remove all `MimeHeader` objects whose name matches the the given name.
`void` `setHeader(String name, String value)` Replaces the current value of the first header entry whose name matches the given name with the given value, adding a new header if no existing header name matches.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### headers

    protected Vector<MimeHeader> headers

A `Vector` containing the headers as `MimeHeader` instances.

### Constructor Detail

#### MimeHeaders

    public MimeHeaders()

Constructs a default `MimeHeaders` object initialized with an empty `Vector` object.

### Method Detail

#### getHeader

    public String[] getHeader(String name)

Returns all of the values for the specified header as an array of `String` objects.

Parameters:
  `name` - the name of the header for which values will be returned
Returns:
  a `String` array with all of the values for the specified header
See Also:
  `setHeader(java.lang.String, java.lang.String)`

#### setHeader

    public void setHeader(String name,
                          String value)

Replaces the current value of the first header entry whose name matches the given name with the given value, adding a new header if no existing header name matches. This method also removes all matching headers after the first one.

Note that RFC822 headers can contain only US-ASCII characters.

Parameters:
  `name` - a `String` with the name of the header for which to search
  `value` - a `String` with the value that will replace the current value of the specified header
Throws:
  `IllegalArgumentException` - if there was a problem in the mime header name or the value being set
See Also:
  `getHeader(java.lang.String)`

#### addHeader

    public void addHeader(String name,
                          String value)

Adds a `MimeHeader` object with the specified name and value to this `MimeHeaders` object's list of headers.

Note that RFC822 headers can contain only US-ASCII characters.

Parameters:
  `name` - a `String` with the name of the header to be added
  `value` - a `String` with the value of the header to be added
Throws:
  `IllegalArgumentException` - if there was a problem in the mime header name or value being added

#### removeHeader

    public void removeHeader(String name)

Remove all `MimeHeader` objects whose name matches the the given name.

Parameters:
  `name` - a `String` with the name of the header for which to search

#### removeAllHeaders

    public void removeAllHeaders()

Removes all the header entries from this `MimeHeaders` object.

#### getAllHeaders

    public Iterator<MimeHeader> getAllHeaders()

Returns all the headers in this `MimeHeaders` object.

Returns:
  an `Iterator` object over this `MimeHeaders` object's list of `MimeHeader` objects

#### getMatchingHeaders

    public Iterator<MimeHeader> getMatchingHeaders(String[] names)

Returns all the `MimeHeader` objects whose name matches a name in the given array of names.

Parameters:
  `names` - an array of `String` objects with the names for which to search
Returns:
  an `Iterator` object over the `MimeHeader` objects whose name matches one of the names in the given list

#### getNonMatchingHeaders

    public Iterator<MimeHeader> getNonMatchingHeaders(String[] names)

Returns all of the `MimeHeader` objects whose name does not match a name in the given array of names.

Parameters:
  `names` - an array of `String` objects with the names for which to search
Returns:
  an `Iterator` object over the `MimeHeader` objects whose name does not match one of the names in the given list