
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __java_awt_datatransfer_Transferable__
#define __java_awt_datatransfer_Transferable__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>

extern "Java"
{
  namespace java
  {
    namespace awt
    {
      namespace datatransfer
      {
          class DataFlavor;
          class Transferable;
      }
    }
  }
}

class java::awt::datatransfer::Transferable : public ::java::lang::Object
{

public:
  virtual JArray< ::java::awt::datatransfer::DataFlavor * > * getTransferDataFlavors() = 0;
  virtual jboolean isDataFlavorSupported(::java::awt::datatransfer::DataFlavor *) = 0;
  virtual ::java::lang::Object * getTransferData(::java::awt::datatransfer::DataFlavor *) = 0;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __java_awt_datatransfer_Transferable__
