javax.activation

Class DataHandler

Implemented Interfaces:
Transferable

public class DataHandler
extends Object
implements Transferable

Handler for data available in multiple sources and formats.

Constructor Summary

DataHandler(Object obj, String mimeType)
Constructor using a reified object representation.
DataHandler(URL url)
Constructor in which the data is read from a URL.
DataHandler(DataSource ds)
Constructor in which the data is read from a data source.

Method Summary

CommandInfo[]
getAllCommands()
Returns the complete list of commands for this type of data.
Object
getBean(CommandInfo cmdInfo)
Returns the instantiated bean using the specified command.
CommandInfo
getCommand(String cmdName)
Returns the specified command.
Object
getContent()
Returns the data as a reified object.
String
getContentType()
Returns the MIME type of the data (with parameters).
DataSource
getDataSource()
Returns the data source from which data is read.
InputStream
getInputStream()
Returns an input stream from which the data can be read.
String
getName()
Returns the name of the data object if created with a DataSource.
OutputStream
getOutputStream()
Returns an output stream that can be used to overwrite the underlying data, if the DataSource constructor was used.
CommandInfo[]
getPreferredCommands()
Returns the preferred commands for this type of data.
Object
getTransferData(DataFlavor flavor)
Returns an object representing the data to be transferred.
DataFlavor[]
getTransferDataFlavors()
Returns the data flavors in which this data is available.
boolean
isDataFlavorSupported(DataFlavor flavor)
Indicates whether the specified data flavor is supported for this data.
void
setCommandMap(CommandMap commandMap)
Sets the command map to be used by this data handler.
static void
setDataContentHandlerFactory(DataContentHandlerFactory newFactory)
Sets the data content handler factory.
void
writeTo(OutputStream os)
Writes the data as a byte stream.

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

DataHandler

public DataHandler(Object obj,
                   String mimeType)
Constructor using a reified object representation.
Parameters:
obj - the object representation of the data
mimeType - the MIME type of the object

DataHandler

public DataHandler(URL url)
Constructor in which the data is read from a URL.
Parameters:
url - the URL

DataHandler

public DataHandler(DataSource ds)
Constructor in which the data is read from a data source.
Parameters:
ds - the data source

Method Details

getAllCommands

public CommandInfo[] getAllCommands()
Returns the complete list of commands for this type of data.

getBean

public Object getBean(CommandInfo cmdInfo)
Returns the instantiated bean using the specified command.
Parameters:
cmdInfo - the command to instantiate the bean with

getCommand

public CommandInfo getCommand(String cmdName)
Returns the specified command.
Parameters:
cmdName - the command name

getContent

public Object getContent()
            throws IOException
Returns the data as a reified object.

getContentType

public String getContentType()
Returns the MIME type of the data (with parameters).

getDataSource

public DataSource getDataSource()
Returns the data source from which data is read.

getInputStream

public InputStream getInputStream()
            throws IOException
Returns an input stream from which the data can be read.

getName

public String getName()
Returns the name of the data object if created with a DataSource.

getOutputStream

public OutputStream getOutputStream()
            throws IOException
Returns an output stream that can be used to overwrite the underlying data, if the DataSource constructor was used.

getPreferredCommands

public CommandInfo[] getPreferredCommands()
Returns the preferred commands for this type of data.

getTransferData

public Object getTransferData(DataFlavor flavor)
            throws UnsupportedFlavorException,
                   IOException
Returns an object representing the data to be transferred.
Specified by:
getTransferData in interface Transferable
Parameters:
flavor - the requested data flavor

getTransferDataFlavors

public DataFlavor[] getTransferDataFlavors()
Returns the data flavors in which this data is available.
Specified by:
getTransferDataFlavors in interface Transferable

isDataFlavorSupported

public boolean isDataFlavorSupported(DataFlavor flavor)
Indicates whether the specified data flavor is supported for this data.
Specified by:
isDataFlavorSupported in interface Transferable

setCommandMap

public void setCommandMap(CommandMap commandMap)
Sets the command map to be used by this data handler. Setting to null uses the default command map.
Parameters:
commandMap - the command map to use

setDataContentHandlerFactory

public static void setDataContentHandlerFactory(DataContentHandlerFactory newFactory)
Sets the data content handler factory. If the factory has already been set, throws an Error.
Parameters:
newFactory - the factory to set

writeTo

public void writeTo(OutputStream os)
            throws IOException
Writes the data as a byte stream.
Parameters:
os - the stream to write to

DataHandler.java -- Handler for data available in multiple formats. Copyright (C) 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.