# Interface Transferable

All Known Implementing Classes:
  `DropTargetContext.TransferableProxy, StringSelection`

public interface Transferable
Defines the interface for classes that can be used to provide data for a transfer operation.

For information on using data transfer with Swing, see How to Use Drag and Drop and Data Transfer, a section in The Java Tutorial, for more information.

Since:
  1.1

## Method Summary

Modifier and Type
Method
Description
`Object`
`getTransferData(DataFlavor flavor)`
Returns an object which represents the data to be transferred.
`DataFlavor[]`
`getTransferDataFlavors()`
Returns an array of DataFlavor objects indicating the flavors the data can be provided in.
`boolean`
`isDataFlavorSupported(DataFlavor flavor)`
Returns whether or not the specified data flavor is supported for this object.

## Method Details

### getTransferDataFlavors

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:
  an array of data flavors in which this data can be transferred

### isDataFlavorSupported

boolean isDataFlavorSupported(DataFlavor flavor)
Returns whether or not the specified data flavor is supported for this object.

Parameters:
  `flavor` - the requested flavor for the data
Returns:
  boolean indicating whether or not the data flavor is supported

### getTransferData

Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, 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:
  `flavor` - the requested flavor for the data
Returns:
  an object which represents the data to be transferred
Throws:
  `IOException` - if the data is no longer available in the requested flavor
  `UnsupportedFlavorException` - if the requested data flavor is not supported
See Also:
  - `DataFlavor.getRepresentationClass()`