Module java.desktop
Package java.awt.dnd

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