The Part Interface

The Part interface is implemented by both Message and BodyPart. Every Message is a Part. However, some parts may contain other parts. The Part interface declares three kinds of methods:

  • Methods for getting and setting the attributes of the part

  • Methods for getting and setting the headers of the part

  • Methods for getting and setting the contents of the part

The attributes of the part are things such as the size of the message or the date it was received. These aren’t explicitly specified in the message’s header. The headers, by contrast, are name-value pairs included at the front of the part. Finally, the content of the part is the actual data that the message is trying to transmit.

Attributes

The JavaMail API defines five attributes for parts. These are:

Size

The approximate number of bytes in the part

Line count

The number of lines in the part

Disposition

Whether the part is an attachment or should be displayed inline

Description

A brief text summary of the part

Filename

The name of the file that the attachment came from

Not all parts have all attributes. For instance, a part that does not represent an attached file is unlikely to have a filename attribute. Each attribute is mapped to a getter method:

public int getSize( ) throws MessagingException public int getLineCount( ) throws MessagingException public String getDisposition( ) throws MessagingException public String getDescription( ) throws MessagingException public String getFileName( ) throws MessagingException, ParseException ...

Get Java Network Programming, Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.