iaik.smime
Class encrypted_content

java.lang.Object
  extended by iaik.smime.encrypted_content
All Implemented Interfaces:
javax.activation.DataContentHandler

public class encrypted_content
extends java.lang.Object
implements javax.activation.DataContentHandler

This class implements a DataContentHandler for the MIME type: "application/(x-)pkcs7-mime".

Within the JavaBeans Activation Framework (JAF) data content handlers are used for writing certain data objects to streams, and parsing objects back from streams. Generally, applications do not immediately call the methods of a data content handler. Rather they use the access mechanisms provided by the corresponding DataHandler. The data handler itself internally will look for a proper data content handler supporting a the requested S/MIME type.

The JAF uses a RFC1524 mailcap file for defining Java classes as content handlers for specific mime types. In particular, this encrypted_content class acts as a content handler for the S/MIME type application/x-pkcs7-mime, indicated by the following statement in the corresponding mailcap file::

 application/x-pkcs7-mime;;             x-java-content-handler=iaik.smime.encrypted_content
 
And for recognizing the new content type:
 application/pkcs7-mime;;               x-java-content-handler=iaik.smime.encrypted_content
 
Note that the IAIK-S/MIME distribution includes a ready-to-use mailcap file to be copied in the lib directory of your JDK (/lib)!

More information about the JavaBeans Activation Framework may be obtained from http://www.oracle.com/technetwork/java/javase/downloads/index-135046.html.


Constructor Summary
encrypted_content()
          Default constructor.
 
Method Summary
 java.lang.Object getContent(javax.activation.DataSource dataSource)
          Returns an object representing the data which is encapsulated by the supplied dataSource.
 java.lang.Object getTransferData(java.awt.datatransfer.DataFlavor dataFlavor, javax.activation.DataSource dataSource)
          Returns an object representing the data to be transferred.
 java.awt.datatransfer.DataFlavor[] getTransferDataFlavors()
          Returns the DataFlavors indicating the flavors the data can be provided in.
 void writeTo(java.lang.Object o, java.lang.String mimeType, java.io.OutputStream os)
          Writes the supplied object to the given output stream.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

encrypted_content

public encrypted_content()
Default constructor.

Method Detail

getTransferDataFlavors

public java.awt.datatransfer.DataFlavor[] getTransferDataFlavors()
Returns the DataFlavors indicating the flavors the data can be provided in.

Specified by:
getTransferDataFlavors in interface javax.activation.DataContentHandler
Returns:
the DataFlavors indicating the flavors the data can be provided in

getTransferData

public java.lang.Object getTransferData(java.awt.datatransfer.DataFlavor dataFlavor,
                                        javax.activation.DataSource dataSource)
                                 throws java.io.IOException
Returns an object representing the data to be transferred.

Specified by:
getTransferData in interface javax.activation.DataContentHandler
Parameters:
dataFlavor - the DataFlavor indicating the requested type
dataSource - the DataSource supplying the encapsulated data
Returns:
a EncryptedContent or SignedContent object for the supplied data, or null if the specified dataFlavor has the wrong format
Throws:
java.io.IOException - if an error occurs when parsing the data

getContent

public java.lang.Object getContent(javax.activation.DataSource dataSource)
                            throws java.io.IOException
Returns an object representing the data which is encapsulated by the supplied dataSource.

Specified by:
getContent in interface javax.activation.DataContentHandler
Parameters:
dataSource - the data source supplying the encapsulated data
Returns:
a EncryptedContent or SignedContent object representing the supplied data
Throws:
java.io.IOException - if an error occurs when parsing the data

writeTo

public void writeTo(java.lang.Object o,
                    java.lang.String mimeType,
                    java.io.OutputStream os)
             throws java.io.IOException
Writes the supplied object to the given output stream.

This method only is able to handle objects supplied as instances of EncryptedContent or SignedContent. If the given object does not satisfy this criterion, an IOException is thrown.

Specified by:
writeTo in interface javax.activation.DataContentHandler
Parameters:
o - the object (an instance of EncryptedContent or SignedContent) to be written to the stream
mimeType - the mimeType; not used here
os - the output stream to which to write the data
Throws:
java.io.IOException - if the supplied object is not an instance of SignedContent or EncryptedContent, or an error occurs while writing to the stream

This Javadoc may contain text parts from text parts from IETF Internet Standard specifications (see copyright note).

IAIK-CMS 5.1, (c) 2002 IAIK, (c) 2003 - 2010 SIC