Module java.datatransfer
Package java.awt.datatransfer

## 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 Detail

    - #### 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()`