Class TransferableObject

java.lang.Object
net.iharder.dnd.TransferableObject
All Implemented Interfaces:
Transferable

public class TransferableObject
extends Object
implements Transferable
At last an easy way to encapsulate your custom objects for dragging and dropping in your Java programs! When you need to create a 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 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 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.

This code is licensed for public use under the Common Public License version 0.5.
The Common Public License, developed by IBM and modeled after their industry-friendly IBM Public License, differs from other common open source licenses in several important ways:

  • You may include this software with other software that uses a different (even non-open source) license.
  • You may use this software to make for-profit software.
  • Your patent rights, should you generate patents, are protected.

Copyright � 2001 Robert Harder

Version:
1.1
Author:
Robert.Harder
  • Field Details

    • MIME_TYPE

      public static final String MIME_TYPE
      The MIME type for DATA_FLAVOR is application/x-net.iharder.dnd.TransferableObject.
      Since:
      1.1
      See Also:
      Constant Field Values
    • DATA_FLAVOR

      public static final DataFlavor DATA_FLAVOR
      The default DataFlavor for TransferableObject has the representation class net.iharder.dnd.TransferableObject.class and the MIME type application/x-net.iharder.dnd.TransferableObject.
      Since:
      1.1
  • Constructor Details

    • TransferableObject

      public TransferableObject​(Object data)
      Creates a new 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.
      Parameters:
      data - The data to transfer
      Since:
      1.1
    • TransferableObject

      public TransferableObject​(TransferableObject.Fetcher fetcher)
      Creates a new TransferableObject that will return the object that is returned by fetcher. No custom data flavor is set other than the default DATA_FLAVOR.
      Parameters:
      fetcher - The TransferableObject.Fetcher that will return the data object
      Since:
      1.1
      See Also:
      TransferableObject.Fetcher
    • TransferableObject

      public TransferableObject​(Class<?> dataClass, TransferableObject.Fetcher fetcher)
      Creates a new 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.
      Parameters:
      dataClass - The Class to use in the custom data flavor
      fetcher - The TransferableObject.Fetcher that will return the data object
      Since:
      1.1
      See Also:
      TransferableObject.Fetcher
  • Method Details