Package org.eclipse.jface.util

# Class LocalSelectionTransfer

java.lang.Object
org.eclipse.swt.dnd.Transfer
org.eclipse.swt.dnd.ByteArrayTransfer
org.eclipse.jface.util.LocalSelectionTransfer

Direct Known Subclasses:
  `LocalSelectionTransfer`

public class LocalSelectionTransfer extends ByteArrayTransfer
A LocalSelectionTransfer may be used for drag and drop operations within the same instance of Eclipse. The selection is made available directly for use in the DropTargetListener. dropAccept method. The DropTargetEvent passed to dropAccept does not contain the drop data. The selection may be used for validation purposes so that the drop can be aborted if appropriate. This class is not intended to be subclassed.

Since:
  3.2

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`LocalSelectionTransfer()`
Only the singleton instance of this class may be used.

## Method Summary

Modifier and Type
Method
Description
`ISelection`
`getSelection()`
Returns the local transfer data.
`long`
`getSelectionSetTime()`
Returns the time when the selection operation this transfer is associated with was started.
`static LocalSelectionTransfer`
`getTransfer()`
Returns the singleton.
`protected int[]`
`getTypeIds()`
Returns the type id used to identify this transfer.
`protected String[]`
`getTypeNames()`
Returns the type name used to identify this transfer.
`void`
`javaToNative(Object object, TransferData transferData)`
Overrides org.eclipse.swt.dnd.ByteArrayTransfer#javaToNative(Object, TransferData).
`Object`
`nativeToJava(TransferData transferData)`
Overrides org.eclipse.swt.dnd.ByteArrayTransfer#nativeToJava(TransferData).
`void`
`setSelection(ISelection s)`
Sets the transfer data for local use.
`void`
`setSelectionSetTime(long time)`
Sets the time when the selection operation this transfer is associated with was started.

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

`getSupportedTypes, isSupportedType`

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

`registerType, validate`

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

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

## Constructor Details

### LocalSelectionTransfer

protected LocalSelectionTransfer()
Only the singleton instance of this class may be used.

## Method Details

### getTransfer

public static LocalSelectionTransfer getTransfer()
Returns the singleton.

Returns:
  the singleton

### getSelection

public ISelection getSelection()
Returns the local transfer data.

Returns:
  the local transfer data

### getTypeIds

protected int[] getTypeIds()
Returns the type id used to identify this transfer.

Specified by:
  `getTypeIds` in class `Transfer`
Returns:
  the type id used to identify this transfer.

### getTypeNames

protected String[] getTypeNames()
Returns the type name used to identify this transfer.

Specified by:
  `getTypeNames` in class `Transfer`
Returns:
  the type name used to identify this transfer.

### javaToNative

public void javaToNative(Object object, TransferData transferData)
Overrides org.eclipse.swt.dnd.ByteArrayTransfer#javaToNative(Object, TransferData). Only encode the transfer type name since the selection is read and written in the same process.

Overrides:
  `javaToNative` in class `ByteArrayTransfer`
Parameters:
  `object` - 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:
  - `ByteArrayTransfer.javaToNative(java.lang.Object, org.eclipse.swt.dnd.TransferData)`

### nativeToJava

public Object nativeToJava(TransferData transferData)
Overrides org.eclipse.swt.dnd.ByteArrayTransfer#nativeToJava(TransferData). Test if the native drop data matches this transfer type.

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:
  - `ByteArrayTransfer.nativeToJava(TransferData)`

### setSelection

public void setSelection(ISelection s)
Sets the transfer data for local use.

Parameters:
  `s` - the transfer data

### getSelectionSetTime

public long getSelectionSetTime()
Returns the time when the selection operation this transfer is associated with was started.

Returns:
  the time when the selection operation has started
See Also:
  - `TypedEvent.time`

### setSelectionSetTime

public void setSelectionSetTime(long time)
Sets the time when the selection operation this transfer is associated with was started. If assigning this from an SWT event, be sure to use `setSelectionTime(event.time & 0xFFFF)`

Parameters:
  `time` - the time when the selection operation was started
See Also:
  - `TypedEvent.time`