public static class FileDrop.TransferableObject
extends java.lang.Object
implements java.awt.datatransfer.Transferable
Transferable object, use this class to wrap
 your object. For example:
 
 
 
      ...
      MyCoolClass myObj = new MyCoolClass();
      Transferable xfer = new TransferableObject( myObj );
      ...
 
 
 
 Or if you need to know when the data was actually dropped, like when
 you're moving data out of a list, say, you can use the
 FileDrop.TransferableObject.Fetcher inner class to return your object Just
 in Time. For example:
 
 
 
      ...
      final MyCoolClass myObj = new MyCoolClass();
 
      TransferableObject.Fetcher fetcher = new TransferableObject.Fetcher()
      {   public Object getObject(){ return myObj; }
      }; // end fetcher
 
      Transferable xfer = new TransferableObject( fetcher );
      ...
 
 
 
 The DataFlavor associated with
 FileDrop.TransferableObject has the representation class
 net.iharder.dnd.TransferableObject.class and MIME type
 application/x-net.iharder.dnd.TransferableObject. This data
 flavor is accessible via the static DATA_FLAVOR property.
 
 
 I'm releasing this code into the Public Domain. Enjoy.
| Modifier and Type | Class and Description | 
|---|---|
static interface  | 
FileDrop.TransferableObject.Fetcher
Instead of passing your data directly to the
  
FileDrop.TransferableObject constructor, you may want to know exactly
 when your data was received in case you need to remove it from its
 source (or do anyting else to it). | 
| Modifier and Type | Field and Description | 
|---|---|
static java.awt.datatransfer.DataFlavor | 
DATA_FLAVOR
The default  
DataFlavor for
 FileDrop.TransferableObject has the representation class
 net.iharder.dnd.TransferableObject.class and the MIME type
 application/x-net.iharder.dnd.TransferableObject. | 
static java.lang.String | 
MIME_TYPE
The MIME type for  
DATA_FLAVOR is
 application/x-net.iharder.dnd.TransferableObject. | 
| Constructor and Description | 
|---|
TransferableObject(java.lang.Class dataClass,
                  FileDrop.TransferableObject.Fetcher fetcher)
Creates a new  
FileDrop.TransferableObject that will return the object
 that is returned by fetcher. | 
TransferableObject(FileDrop.TransferableObject.Fetcher fetcher)
Creates a new  
FileDrop.TransferableObject that will return the object
 that is returned by fetcher. | 
TransferableObject(java.lang.Object data)
Creates a new  
FileDrop.TransferableObject that wraps data. | 
| Modifier and Type | Method and Description | 
|---|---|
java.awt.datatransfer.DataFlavor | 
getCustomDataFlavor()
Returns the custom  
DataFlavor
 associated with the encapsulated object or null if the
 FileDrop.TransferableObject.Fetcher constructor was used without passing a
 Class. | 
java.lang.Object | 
getTransferData(java.awt.datatransfer.DataFlavor flavor)
Returns the data encapsulated in this  
FileDrop.TransferableObject. | 
java.awt.datatransfer.DataFlavor[] | 
getTransferDataFlavors()
Returns a two- or three-element array containing first the custom
 data flavor, if one was created in the constructors, second the
 default  
DATA_FLAVOR associated with
 FileDrop.TransferableObject, and third the
 java.awt.datatransfer.DataFlavor.stringFlavor. | 
boolean | 
isDataFlavorSupported(java.awt.datatransfer.DataFlavor flavor)
Returns true if flavor is one of the supported
 flavors. 
 | 
public static final java.lang.String MIME_TYPE
DATA_FLAVOR is
 application/x-net.iharder.dnd.TransferableObject.public static final java.awt.datatransfer.DataFlavor DATA_FLAVOR
DataFlavor for
 FileDrop.TransferableObject has the representation class
 net.iharder.dnd.TransferableObject.class and the MIME type
 application/x-net.iharder.dnd.TransferableObject.public TransferableObject(java.lang.Object data)
FileDrop.TransferableObject that wraps data.
 Along with the DATA_FLAVOR associated with this class, this
 creates a custom data flavor with a representation class determined
 from data.getClass() and the MIME type
 application/x-net.iharder.dnd.TransferableObject.data - The data to transferpublic TransferableObject(FileDrop.TransferableObject.Fetcher fetcher)
FileDrop.TransferableObject that will return the object
 that is returned by fetcher. No custom data flavor is set
 other than the default DATA_FLAVOR.fetcher - The FileDrop.TransferableObject.Fetcher that will return the data objectFileDrop.TransferableObject.Fetcherpublic TransferableObject(java.lang.Class dataClass,
                          FileDrop.TransferableObject.Fetcher fetcher)
FileDrop.TransferableObject that will return the object
 that is returned by fetcher. Along with the
 DATA_FLAVOR associated with this class, this creates a
 custom data flavor with a representation class dataClass
 and the MIME type
 application/x-net.iharder.dnd.TransferableObject.dataClass - The Class to use in the custom data
            flavorfetcher - The FileDrop.TransferableObject.Fetcher that will return the data objectFileDrop.TransferableObject.Fetcherpublic java.awt.datatransfer.DataFlavor getCustomDataFlavor()
DataFlavor
 associated with the encapsulated object or null if the
 FileDrop.TransferableObject.Fetcher constructor was used without passing a
 Class.public java.awt.datatransfer.DataFlavor[] getTransferDataFlavors()
DATA_FLAVOR associated with
 FileDrop.TransferableObject, and third the
 java.awt.datatransfer.DataFlavor.stringFlavor.getTransferDataFlavors in interface java.awt.datatransfer.Transferablepublic java.lang.Object getTransferData(java.awt.datatransfer.DataFlavor flavor)
                                 throws java.awt.datatransfer.UnsupportedFlavorException,
                                        java.io.IOException
FileDrop.TransferableObject. If
 the FileDrop.TransferableObject.Fetcher constructor was used, then this is when the
 getObject() method will be called. If the
 requested data flavor is not supported, then the
 getObject() method will not be called.getTransferData in interface java.awt.datatransfer.Transferableflavor - The data flavor for the data to returnjava.awt.datatransfer.UnsupportedFlavorExceptionjava.io.IOExceptionpublic boolean isDataFlavorSupported(java.awt.datatransfer.DataFlavor flavor)
equals(...)
 method.isDataFlavorSupported in interface java.awt.datatransfer.Transferableflavor - The data flavor to check