Package javax.mail

## Interface MultipartDataSource

All Superinterfaces:
  `DataSource`

All Known Implementing Classes:
  `IMAPMultipartDataSource`

    public interface MultipartDataSource
    extends DataSource

MultipartDataSource is a `DataSource` that contains body parts. This allows "mail aware" `DataContentHandlers` to be implemented more efficiently by being aware of such `DataSources` and using the appropriate methods to access `BodyParts`.

Note that the data of a MultipartDataSource is also available as an input stream.

This interface will typically be implemented by providers that preparse multipart bodies, for example an IMAP provider.

Author:
  John Mani
See Also:
  `DataSource`

### Method Summary

All Methods Instance Methods Abstract Methods
`BodyPart` `getBodyPart​(int index)` Get the specified Part.
`int` `getCount​()` Return the number of enclosed BodyPart objects.

### Methods inherited from interface javax.activation.DataSource

`getContentType, getInputStream, getName, getOutputStream`

### Method Detail

#### getCount

    int getCount​()

Return the number of enclosed BodyPart objects.

Returns:
  number of parts

#### getBodyPart

    BodyPart getBodyPart​(int index)
                  throws MessagingException

Get the specified Part. Parts are numbered starting at 0.

Parameters:
  `index` - the index of the desired Part
Returns:
  the Part
Throws:
  `IndexOutOfBoundsException` - if the given index is out of range.
  `MessagingException` - for other failures