Class 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 no DataFlavors, 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)
    • 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 a Serializable 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)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • BasicTransferable

        public BasicTransferable()
    • 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 object
        clazz - the class as which it should be declared in the MIME type
        type - a human-readable description of the type
      • addSerializableObject

        public void addSerializableObject​(java.io.Serializable obj,
                                          java.lang.Class clazz,
                                          java.lang.String type)
        Adds a Serializable object which can be serialized and thus passed outside of this JVM.
        Parameters:
        obj - the serializable object
        clazz - the class as which it should be declared in the MIME type
        type - 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 data
        mimeType - the MIME type with which the data should declare itself
      • getTransferDataFlavors

        public java.awt.datatransfer.DataFlavor[] getTransferDataFlavors()
        Specified by:
        getTransferDataFlavors in interface java.awt.datatransfer.Transferable
      • isDataFlavorSupported

        public boolean isDataFlavorSupported​(java.awt.datatransfer.DataFlavor flavor)
        Specified by:
        isDataFlavorSupported in interface java.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 interface java.awt.datatransfer.Transferable
        Throws:
        java.io.IOException
        java.awt.datatransfer.UnsupportedFlavorException