Sun Adapter for e-Mail API

com.stc.connector.emailadapter.appconn
Class AttachmentDataSource

java.lang.Object
  extended by com.stc.connector.emailadapter.appconn.AttachmentDataSource
All Implemented Interfaces:
javax.activation.DataSource

public class AttachmentDataSource
extends java.lang.Object
implements javax.activation.DataSource

This class implements the DataSource to provide an in memory management of attachments. The DataSource interface provides the JavaBeans Activation Framework with an abstraction of some arbitrary collection of data. It provides a type for that data as well as access to it in the form of InputStreams and OutputStreams where appropriate.

Version:
$Version$
Author:
$Author: cmbuild $

Field Summary
protected static javax.activation.FileTypeMap fileTypeMap
          The FileTypeMap
 
Constructor Summary
AttachmentDataSource(EmailAttachment attachment)
          Creates a new AttachmentDataSource.
 
Method Summary
 java.lang.String getContentType()
          This method returns the MIME type of the data in the form of a string.
 java.io.InputStream getInputStream()
          This method returns an InputStream representing the the data and throws the appropriate exception if it can not do so.
 java.lang.String getName()
          Return the name of this object where the name of the object is dependant on the nature of the underlying objects.
 java.io.OutputStream getOutputStream()
          This method returns an OutputStream where the data can be written and throws the appropriate exception if it can not do so.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

fileTypeMap

protected static javax.activation.FileTypeMap fileTypeMap
The FileTypeMap

Constructor Detail

AttachmentDataSource

public AttachmentDataSource(EmailAttachment attachment)
Creates a new AttachmentDataSource.

Method Detail

getInputStream

public java.io.InputStream getInputStream()
                                   throws java.io.IOException
This method returns an InputStream representing the the data and throws the appropriate exception if it can not do so. Note that a new InputStream object must be returned each time this method is called, and the stream must be positioned at the beginning of the data.

Specified by:
getInputStream in interface javax.activation.DataSource
Returns:
An InputStream.
Throws:
java.io.IOException - upon error.

getOutputStream

public java.io.OutputStream getOutputStream()
                                     throws java.io.IOException
This method returns an OutputStream where the data can be written and throws the appropriate exception if it can not do so. Note that a new OutputStream object must be returned each time this method is called, and the stream must be positioned at the location the data is to be written.

Specified by:
getOutputStream in interface javax.activation.DataSource
Returns:
An OutputStream.
Throws:
java.io.IOException - upon error.

getContentType

public java.lang.String getContentType()
This method returns the MIME type of the data in the form of a string. It should always return a valid type. It is suggested that getContentType return "application/octet-stream" if the DataSource implementation can not determine the data type.

Specified by:
getContentType in interface javax.activation.DataSource
Returns:
The MIME type.

getName

public java.lang.String getName()
Return the name of this object where the name of the object is dependant on the nature of the underlying objects. DataSources encapsulating files may choose to return the filename of the object. (Typically this would be the last component of the filename, not an entire pathname.)

Specified by:
getName in interface javax.activation.DataSource
Returns:
The name of the object.

Sun Adapter for e-Mail API