Package uk.ac.starlink.datanode.tree
Class BasicTransferable
- java.lang.Object
-
- uk.ac.starlink.datanode.tree.BasicTransferable
-
- All Implemented Interfaces:
java.awt.datatransfer.Transferable
- Direct Known Subclasses:
DataNodeTransferable
public class BasicTransferable extends java.lang.Object implements java.awt.datatransfer.Transferable
A basic implementation of the Transferable interface used to implement drag'n'drop operations. It initially supports noDataFlavor
s, but they can be added by using the various add* methods provided. They should be called in order of priority (most specific first).- Author:
- Mark Taylor (Starlink)
-
-
Constructor Summary
Constructors Constructor Description BasicTransferable()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addDataSource(uk.ac.starlink.util.DataSource datsrc, java.lang.String mimeType)
Adds streamed data.void
addLocalObject(java.lang.Object obj, java.lang.Class clazz, java.lang.String type)
Adds an object which can be transferred within a single JVM.void
addSerializableObject(java.io.Serializable obj, java.lang.Class clazz, java.lang.String type)
Adds aSerializable
object which can be serialized and thus passed outside of this JVM.void
addString(java.lang.String text)
Adds a plain text string.void
addURL(java.net.URL url)
Adds a URL.java.lang.Object
getTransferData(java.awt.datatransfer.DataFlavor flavor)
java.awt.datatransfer.DataFlavor[]
getTransferDataFlavors()
boolean
isDataFlavorSupported(java.awt.datatransfer.DataFlavor flavor)
-
-
-
Method Detail
-
addLocalObject
public void addLocalObject(java.lang.Object obj, java.lang.Class clazz, java.lang.String type)
Adds an object which can be transferred within a single JVM.- Parameters:
obj
- the objectclazz
- the class as which it should be declared in the MIME typetype
- a human-readable description of the type
-
addSerializableObject
public void addSerializableObject(java.io.Serializable obj, java.lang.Class clazz, java.lang.String type)
Adds aSerializable
object which can be serialized and thus passed outside of this JVM.- Parameters:
obj
- the serializable objectclazz
- the class as which it should be declared in the MIME typetype
- a human-readable description of the type
-
addURL
public void addURL(java.net.URL url)
Adds a URL. This is currently installed as both a local and a serializable object.- Parameters:
url
- the URL
-
addString
public void addString(java.lang.String text)
Adds a plain text string.- Parameters:
text
- the string
-
addDataSource
public void addDataSource(uk.ac.starlink.util.DataSource datsrc, java.lang.String mimeType)
Adds streamed data.- Parameters:
datsrc
- the DataSource holding the datamimeType
- the MIME type with which the data should declare itself
-
getTransferDataFlavors
public java.awt.datatransfer.DataFlavor[] getTransferDataFlavors()
- Specified by:
getTransferDataFlavors
in interfacejava.awt.datatransfer.Transferable
-
isDataFlavorSupported
public boolean isDataFlavorSupported(java.awt.datatransfer.DataFlavor flavor)
- Specified by:
isDataFlavorSupported
in interfacejava.awt.datatransfer.Transferable
-
getTransferData
public java.lang.Object getTransferData(java.awt.datatransfer.DataFlavor flavor) throws java.io.IOException, java.awt.datatransfer.UnsupportedFlavorException
- Specified by:
getTransferData
in interfacejava.awt.datatransfer.Transferable
- Throws:
java.io.IOException
java.awt.datatransfer.UnsupportedFlavorException
-
-