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