Class PluginTransfer


public class PluginTransfer extends ByteArrayTransfer
This class can be used to transfer an instance of PluginTransferData between two parts in a workbench in a drag and drop operation.

In every drag and drop operation there is a DragSource and a DropTarget. When a drag occurs a Transfer is used to marshall the drag data from the source into a byte array. If a drop occurs another Transfer is used to marshall the byte array into drop data for the target.

A PluginTransferData contains the id of a drop action extension. If a drop occurs the extension is invoked to perform a drop action. As a benefit, the destination viewer doesn't need to have any knowledge of the items being dropped into it.

This class can be used for a Viewer or an SWT component directly. A singleton is provided which may be serially reused (see getInstance). It is not intended to be subclassed.

See Also:
  • Method Details

    • getInstance

      public static PluginTransfer getInstance()
      Returns the singleton instance.
      Returns:
      the singleton instance
    • getTypeIds

      protected int[] getTypeIds()
      Description copied from class: Transfer
      Returns the platform specific ids of the data types that can be converted using this transfer agent.
      Specified by:
      getTypeIds in class Transfer
      Returns:
      the platform specific ids of the data types that can be converted using this transfer agent
    • getTypeNames

      protected String[] getTypeNames()
      Description copied from class: Transfer
      Returns the platform specific names of the data types that can be converted using this transfer agent.
      Specified by:
      getTypeNames in class Transfer
      Returns:
      the platform specific names of the data types that can be converted using this transfer agent.
    • javaToNative

      protected void javaToNative(Object data, TransferData transferData)
      Description copied from class: ByteArrayTransfer
      This implementation of javaToNative converts a java byte[] to a platform specific representation.
      Overrides:
      javaToNative in class ByteArrayTransfer
      Parameters:
      data - a java byte[] containing the data to be converted
      transferData - an empty TransferData object that will be filled in on return with the platform specific format of the data
      See Also:
    • nativeToJava

      protected Object nativeToJava(TransferData transferData)
      Description copied from class: ByteArrayTransfer
      This implementation of nativeToJava converts a platform specific representation of a byte array to a java byte[].
      Overrides:
      nativeToJava in class ByteArrayTransfer
      Parameters:
      transferData - the platform specific representation of the data to be converted
      Returns:
      a java byte[] containing the converted data if the conversion was successful; otherwise null
      See Also: