Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.eclipse.swt.dnd
Class Transfer

    java.lang.Object
      org.eclipse.swt.dnd.Transfer

Direct Known Subclasses:
  ByteArrayTransfer

public abstract class Transfer
extends Object

`Transfer` provides a mechanism for converting between a java representation of data and a platform specific representation of data and vice versa. It is used in data transfer operations such as drag and drop and clipboard copy/paste.

You should only need to become familiar with this class if you are implementing a Transfer subclass and you are unable to subclass the ByteArrayTransfer class.

See Also:
  `ByteArrayTransfer`

Constructor Summary
`Transfer()`

Method Summary
`abstract TransferData[]` | `getSupportedTypes()` Returns a list of the platform specific data types that can be converted using this transfer agent.
`protected abstract int[]` | `getTypeIds()` Returns the platform specfic ids of the data types that can be converted using this transfer agent.
`protected abstract String[]` | `getTypeNames()` Returns the platform specfic names of the data types that can be converted using this transfer agent.
`abstract boolean` | `isSupportedType(TransferData transferData)` Returns true if the `TransferData` data type can be converted using this transfer agent.
`protected abstract void` | `javaToNative(Object object, TransferData transferData)` Converts a java representation of data to a platform specific representation of the data.
`protected abstract Object` | `nativeToJava(TransferData transferData)` Converts a platform specific representation of data to a java representation.
`static int` | `registerType(String formatName)` Registers a name for a data type and returns the associated unique identifier.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Transfer

    public Transfer()

Method Detail

### getSupportedTypes

    public abstract TransferData[] getSupportedTypes()

  Returns a list of the platform specific data types that can be converted using this transfer agent.

  Only the data type fields of the `TransferData` objects are filled in.

  Returns:
    a list of the data types that can be converted using this transfer agent

### isSupportedType

    public abstract boolean isSupportedType(TransferData transferData)

  Returns true if the `TransferData` data type can be converted using this transfer agent.

  Parameters:
    `transferData` - a platform specific description of a data type; only the data type fields of the `TransferData` object need to be filled in
  Returns:
    true if the transferData data type can be converted using this transfer agent

### getTypeIds

    protected abstract int[] getTypeIds()

  Returns the platform specfic ids of the data types that can be converted using this transfer agent.

  Returns:
    the platform specfic ids of the data types that can be converted using this transfer agent

### getTypeNames

    protected abstract String[] getTypeNames()

  Returns the platform specfic names of the data types that can be converted using this transfer agent.

  Returns:
    the platform specfic names of the data types that can be converted using this transfer agent.

### javaToNative

    protected abstract void javaToNative(Object object,
                                         TransferData transferData)

  Converts a java representation of data to a platform specific representation of the data.

  On a successful conversion, the transferData.result field will be set as follows:

  - Windows: COM.S_OK
  - Motif: 1
  - GTK: 1
  - Photon: 1

  If this transfer agent is unable to perform the conversion, the transferData.result field will be set to a failure value as follows:

  - Windows: COM.DV_E_TYMED or COM.E_FAIL
  - Motif: 0
  - GTK: 0
  - Photon: 0

  Parameters:
    `object` - a java representation of the data to be converted; the type of Object that is passed in is dependant on the `Transfer` subclass.
    `transferData` - an empty TransferData object; this object will be filled in on return with the platform specific representation of the data

### nativeToJava

    protected abstract Object nativeToJava(TransferData transferData)

  Converts a platform specific representation of data to a java representation.

  Parameters:
    `transferData` - the platform specific representation of the data to be converted
  Returns:
    a java representation of the converted data if the conversion was successful; otherwise null. The type of Object that is returned is dependant on the `Transfer` subclass

### registerType

    public static int registerType(String formatName)

  Registers a name for a data type and returns the associated unique identifier.

  You may register the same type more than once, the same unique identifier will be returned if the type has been previously registered.

  Note: On windows, do not call this method with pre-defined Clipboard Format types such as CF_TEXT or CF_BITMAP because the pre-defined identifier will not be returned

  Parameters:
    `formatName` - the name of a data type
  Returns:
    the unique identifier associated with this data type

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.