java.awt.dnd
Class DropTargetContext.TransferableProxy

java.lang.Object
  extended byjava.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
protected  boolean isLocal
          A boolean indicating if the encapsulated Transferable object represents the result of local drag-n-drop operation (within the same JVM).
private  sun.awt.datatransfer.TransferableProxy proxy
           
protected  Transferable transferable
          The encapsulated Transferable object.
 
Constructor Summary
(package private) DropTargetContext.TransferableProxy(Transferable t, boolean local)
          Constructs a TransferableProxy given a specified Transferable object representing data transfer for a particular drag-n-drop operation and a boolean which indicates whether the drag-n-drop operation is local (within the same JVM).
 
Method Summary
 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).


proxy

private sun.awt.datatransfer.TransferableProxy proxy
Constructor Detail

DropTargetContext.TransferableProxy

DropTargetContext.TransferableProxy(Transferable t,
                                    boolean local)
Constructs a TransferableProxy given a specified Transferable object representing data transfer for a particular drag-n-drop operation and a boolean which indicates whether the drag-n-drop operation is local (within the same JVM).

Parameters:
t - the Transferable object
local - true, if t represents the result of local drag-n-drop operation
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()