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
Modifier and Type
Field
Description
`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

Modifier and Type
Method
Description
`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 Details

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

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