javax.activation
Interface DataContentHandler


public interface DataContentHandler

The DataContentHandler interface is implemented by objects that can be used to extend the capabilities of the DataHandler's implementation of the Transferable interface. Through DataContentHandlers the framework can be extended to convert streams in to objects, and to write objects to streams.

Applications don't generally call the methods in DataContentHandlers directly. Instead, an application calls the equivalent methods in DataHandler. The DataHandler will attempt to find an appropriate DataContentHandler that corresponds to its MIME type using the current DataContentHandlerFactory. The DataHandler then calls through to the methods in the DataContentHandler.


Method Summary
 java.lang.Object getContent(DataSource ds)
          Return an object representing the data in its most preferred form.
 java.lang.Object getTransferData(java.awt.datatransfer.DataFlavor df, DataSource ds)
          Returns an object which represents the data to be transferred.
 java.awt.datatransfer.DataFlavor[] getTransferDataFlavors()
          Returns an array of DataFlavor objects indicating the flavors the data can be provided in.
 void writeTo(java.lang.Object obj, java.lang.String mimeType, java.io.OutputStream os)
          Convert the object to a byte stream of the specified MIME type and write it to the output stream.
 

Method Detail

getTransferDataFlavors

public java.awt.datatransfer.DataFlavor[] getTransferDataFlavors()
Returns an array of DataFlavor objects indicating the flavors the data can be provided in. The array should be ordered according to preference for providing the data (from most richly descriptive to least descriptive).

Returns:
The DataFlavors.

getTransferData

public java.lang.Object getTransferData(java.awt.datatransfer.DataFlavor df,
                                        DataSource ds)
                                 throws java.awt.datatransfer.UnsupportedFlavorException,
                                        java.io.IOException
Returns an object which represents the data to be transferred. The class of the object returned is defined by the representation class of the flavor.

Parameters:
df - The DataFlavor representing the requested type.
ds - The DataSource representing the data to be converted.
Returns:
The constructed Object.
Throws:
java.awt.datatransfer.UnsupportedFlavorException - if the handler doesn't support the requested flavor
java.io.IOException - if the data can't be accessed

getContent

public java.lang.Object getContent(DataSource ds)
                            throws java.io.IOException
Return an object representing the data in its most preferred form. Generally this will be the form described by the first DataFlavor returned by the getTransferDataFlavors method.

Parameters:
ds - The DataSource representing the data to be converted.
Returns:
The constructed Object.
Throws:
java.io.IOException - if the data can't be accessed

writeTo

public void writeTo(java.lang.Object obj,
                    java.lang.String mimeType,
                    java.io.OutputStream os)
             throws java.io.IOException
Convert the object to a byte stream of the specified MIME type and write it to the output stream.

Parameters:
obj - The object to be converted.
mimeType - The requested MIME type of the resulting byte stream.
os - The output stream into which to write the converted byte stream.
Throws:
java.io.IOException - errors writing to the stream