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

    All Methods Instance Methods Concrete Methods
    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 inherited from 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
      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()`

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.