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
,
Drag and Drop snippets,
SWT Example: DNDExample,
Sample code and further information
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 specific ids of the data types that can be converted using
this transfer agent. |
protected abstract
String[]
|
getTypeNames
()
Returns the platform specific 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, or false otherwise (including if transferData is
null ). |
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. |
protected boolean
|
validate
(
Object object)
Test that the object is of the correct format for this Transfer class. |
Methods inherited from class java.lang.
Object
|
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
|
Transfer
public Transfer()
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, or false otherwise (including if transferData is
null
).
-
-
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 specific ids of the data types that can be converted using
this transfer agent.
-
-
Returns:
- the platform specific ids of the data types that can be converted using
this transfer agent
getTypeNames
protected abstract
String[] getTypeNames()
- Returns the platform specific names of the data types that can be converted
using this transfer agent.
-
-
Returns:
- the platform specific 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 dependent 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
-
Throws:
-
SWTException
-
- ERROR_INVALID_DATA - if object does not contain data in a valid format or is
null
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. If transferData is
null
then
null
is returned. The type of Object that is returned is
dependent 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
validate
protected boolean validate(
Object object)
- Test that the object is of the correct format for this Transfer class.
-
-
Parameters:
-
object
- a java representation of the data to be converted
-
Returns:
- true if object is of the correct form for this transfer type
-
Since:
- 3.1
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.