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
    Modifier and Type | Field and Description
    --- | ---
    `protected Vector` | `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
    Modifier and Type | Method and Description
    --- | ---
    `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` | `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` | `getMatchingHeaders(String[] names)` Returns all the `MimeHeader` objects whose name matches a name in the given array of names.
    `Iterator` | `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 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 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 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 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