Module java.desktop
Package java.awt.dnd

## Class DropTargetContext.TransferableProxy

- java.lang.Object
- - java.awt.dnd.DropTargetContext.TransferableProxy

All Implemented Interfaces:
  `Transferable`

Enclosing class:
  DropTargetContext

    protected class DropTargetContext.TransferableProxy
    extends Object
    implements Transferable

`TransferableProxy` is a helper inner class that implements `Transferable` interface and serves as a proxy for another `Transferable` object which represents data transfer for a particular drag-n-drop operation.

The proxy forwards all requests to the encapsulated transferable and automatically performs additional conversion on the data returned by the encapsulated transferable in case of local transfer.

### Field Summary

Fields
`protected boolean` `isLocal` A `boolean` indicating if the encapsulated `Transferable` object represents the result of local drag-n-drop operation (within the same JVM).
`protected Transferable` `transferable` The encapsulated `Transferable` object.

### Method Summary

All Methods Instance Methods Concrete Methods
`Object` `getTransferData​(DataFlavor df)` Returns an object which represents the data provided by the encapsulated transferable for the requested data flavor.
`DataFlavor[]` `getTransferDataFlavors()` Returns an array of DataFlavor objects indicating the flavors the data can be provided in by the encapsulated transferable.
`boolean` `isDataFlavorSupported​(DataFlavor flavor)` Returns whether or not the specified data flavor is supported by the encapsulated transferable.

### Methods declared in class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### transferable

    protected Transferable transferable

The encapsulated `Transferable` object.

#### isLocal

    protected boolean isLocal

A `boolean` indicating if the encapsulated `Transferable` object represents the result of local drag-n-drop operation (within the same JVM).

### Method Detail

#### getTransferDataFlavors

    public DataFlavor[] getTransferDataFlavors()

Returns an array of DataFlavor objects indicating the flavors the data can be provided in by the encapsulated transferable.

Specified by:
  `getTransferDataFlavors` in interface `Transferable`
Returns:
  an array of data flavors in which the data can be provided by the encapsulated transferable

#### isDataFlavorSupported

    public boolean isDataFlavorSupported​(DataFlavor flavor)

Returns whether or not the specified data flavor is supported by the encapsulated transferable.

Specified by:
  `isDataFlavorSupported` in interface `Transferable`
Parameters:
  `flavor` - the requested flavor for the data
Returns:
  `true` if the data flavor is supported, `false` otherwise

#### getTransferData

    public Object getTransferData​(DataFlavor df)
                           throws UnsupportedFlavorException,
                                  IOException

Returns an object which represents the data provided by the encapsulated transferable for the requested data flavor.

In case of local transfer a serialized copy of the object returned by the encapsulated transferable is provided when the data is requested in application/x-java-serialized-object data flavor.

Specified by:
  `getTransferData` in interface `Transferable`
Parameters:
  `df` - 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()`