org.jvnet.mimepull
Class MIMEPart

java.lang.Object
  extended by org.jvnet.mimepull.MIMEPart

public class MIMEPart
extends Object

Represents an attachment part in a MIME message. MIME message parsing is done lazily using a pull parser, so the part may not have all the data. read() and readOnce() may trigger the actual parsing the message. In fact, parsing of an attachment part may be triggered by calling read() methods on some other attachemnt parts. All this happens behind the scenes so the application developer need not worry about these details.

Author:
Jitendra Kotamraju

Method Summary
 void close()
          Cleans up any resources that are held by this part (for e.g.
 List<? extends Header> getAllHeaders()
          Return all the headers
 String getContentId()
          Returns Content-ID MIME header for this attachment part
 String getContentType()
          Returns Content-Type MIME header for this attachment part
 List<String> getHeader(String name)
          Return all the values for the specified header.
 void moveTo(File f)
           
 InputStream read()
          Can get the attachment part's content multiple times.
 InputStream readOnce()
          Can get the attachment part's content only once.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

read

public InputStream read()
Can get the attachment part's content multiple times. That means the full content needs to be there in memory or on the file system. Calling this method would trigger parsing for the part's data. So do not call this unless it is required(otherwise, just wrap MIMEPart into a object that returns InputStream for e.g DataHandler)

Returns:
data for the part's content

close

public void close()
Cleans up any resources that are held by this part (for e.g. deletes the temp file that is used to serve this part's content). After calling this, one shouldn't call read() or readOnce()


readOnce

public InputStream readOnce()
Can get the attachment part's content only once. The content will be lost after the method. Content data is not be stored on the file system or is not kept in the memory for the following case: - Attachement parts contents are accessed sequentially In general, take advantage of this when the data is used only once.

Returns:
data for the part's content

moveTo

public void moveTo(File f)

getContentId

public String getContentId()
Returns Content-ID MIME header for this attachment part

Returns:
Content-ID of the part

getContentType

public String getContentType()
Returns Content-Type MIME header for this attachment part

Returns:
Content-Type of the part

getHeader

public List<String> getHeader(String name)
Return all the values for the specified header. Returns null if no headers with the specified name exist.

Parameters:
name - header name
Returns:
list of header values, or null if none

getAllHeaders

public List<? extends Header> getAllHeaders()
Return all the headers

Returns:
list of Header objects

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2012 Oracle Corporation. All Rights Reserved.