public abstract class Transfer
extends java.lang.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.
ByteArrayTransfer
Constructor and Description |
---|
Transfer() |
Modifier and Type | Method and Description |
---|---|
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 java.lang.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 ). |
abstract void |
javaToNative(java.lang.Object object,
TransferData transferData)
Converts a java representation of data to a platform specific
representation of the data.
|
abstract java.lang.Object |
nativeToJava(TransferData transferData)
Converts a platform specific representation of data to a java
representation.
|
static int |
registerType(java.lang.String formatName)
Registers a name for a data type and returns the associated unique
identifier.
|
protected boolean |
validate(java.lang.Object object)
Test that the object is of the correct format for this Transfer class.
|
public abstract TransferData[] getSupportedTypes()
Only the data type fields of the TransferData
objects are
filled in.
public abstract boolean isSupportedType(TransferData transferData)
TransferData
data type can be converted
using this transfer agent, or false otherwise (including if transferData is
null
).transferData
- a platform specific description of a data type; only
the data type fields of the TransferData
object need
to be filled inprotected abstract int[] getTypeIds()
protected abstract java.lang.String[] getTypeNames()
public abstract void javaToNative(java.lang.Object object, TransferData transferData)
On a successful conversion, the transferData.result field will be set to 1. If this transfer agent is unable to perform the conversion, the transferData.result field will be set to a failure value of 0.
IMPORTANT: This method is not part of the RWT public API. It is marked public only so that it can be shared within the packages provided by RWT. It should never be accessed from application code.
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 dataSWTException
- null
public abstract java.lang.Object nativeToJava(TransferData transferData)
IMPORTANT: This method is not part of the RWT public API. It is marked public only so that it can be shared within the packages provided by RWT. It should never be accessed from application code.
transferData
- the platform specific representation of the data to be
convertednull
then null
is returned. The type of Object that is
returned is dependent on the Transfer
subclass.public static int registerType(java.lang.String formatName)
You may register the same type more than once, the same unique identifier will be returned if the type has been previously registered.
formatName
- the name of a data typeprotected boolean validate(java.lang.Object object)
object
- a java representation of the data to be converted
Copyright (c) EclipseSource and others 2002, 2017.
All rights reserved. This program and the accompanying materials
are made available under the terms of the
Eclipse Public License v1.0