Class TransferableObject

java.lang.Object
jmri.util.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