Package org.eclipse.swt.dnd

# Class FileTransfer

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

public class FileTransfer extends ByteArrayTransfer
The class `FileTransfer` provides a platform specific mechanism for converting a list of files represented as a java `String[]` to a platform specific representation of the data and vice versa. Each `String` in the array contains the absolute path for a single file or directory.

An example of a java `String[]` containing a list of files is shown below:

         File file1 = new File("C:\\temp\\file1");
         File file2 = new File("C:\\temp\\file2");
         String[] fileData = new String[2];
         fileData[0] = file1.getAbsolutePath();
         fileData[1] = file2.getAbsolutePath();

See Also:
  - `Transfer`

## Method Summary

Modifier and Type
Method
Description
`static FileTransfer`
`getInstance()`
Returns the singleton instance of the FileTransfer class.
`protected int[]`
`getTypeIds()`
Returns the platform specific ids of the data types that can be converted using this transfer agent.
`protected String[]`
`getTypeNames()`
Returns the platform specific names of the data types that can be converted using this transfer agent.
`boolean`
`isSupportedType(TransferData transferData)`
Returns true if the `TransferData` data type can be converted using this transfer agent, or false otherwise (including if transferData is `null`).
`void`
`javaToNative(Object object, TransferData transferData)`
This implementation of `javaToNative` converts a list of file names represented by a java `String[]` to a platform specific representation.
`Object`
`nativeToJava(TransferData transferData)`
This implementation of `nativeToJava` converts a platform specific representation of a list of file names to a java `String[]`.
`protected boolean`
`validate(Object object)`
Test that the object is of the correct format for this Transfer class.

### Methods inherited from class org.eclipse.swt.dnd.ByteArrayTransfer

`getSupportedTypes`

### Methods inherited from class org.eclipse.swt.dnd.Transfer

`registerType`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Method Details

### getInstance

public static FileTransfer getInstance()
Returns the singleton instance of the FileTransfer class.

Returns:
  the singleton instance of the FileTransfer class

### javaToNative

public void javaToNative(Object object, TransferData transferData)
This implementation of `javaToNative` converts a list of file names represented by a java `String[]` to a platform specific representation. Each `String` in the array contains the absolute path for a single file or directory.

Overrides:
  `javaToNative` in class `ByteArrayTransfer`
Parameters:
  `object` - a java `String[]` containing the file names 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:
  - `Transfer.nativeToJava(org.eclipse.swt.dnd.TransferData)`

### nativeToJava

public Object nativeToJava(TransferData transferData)
This implementation of `nativeToJava` converts a platform specific representation of a list of file names to a java `String[]`. Each String in the array contains the absolute path for a single file or directory.

Overrides:
  `nativeToJava` in class `ByteArrayTransfer`
Parameters:
  `transferData` - the platform specific representation of the data to be converted
Returns:
  a java `String[]` containing a list of file names if the conversion was successful; otherwise null
See Also:
  - `Transfer.javaToNative(java.lang.Object, org.eclipse.swt.dnd.TransferData)`

### isSupportedType

public boolean isSupportedType(TransferData transferData)
Description copied from class: `Transfer`
Returns true if the `TransferData` data type can be converted using this transfer agent, or false otherwise (including if transferData is `null`).

Overrides:
  `isSupportedType` in class `ByteArrayTransfer`
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 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.

### validate

protected boolean validate(Object object)
Description copied from class: `Transfer`
Test that the object is of the correct format for this Transfer class.

Overrides:
  `validate` in class `Transfer`
Parameters:
  `object` - a java representation of the data to be converted
Returns:
  true if object is of the correct form for this transfer type