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

#ifndef __javax_activation_DataHandler__
#define __javax_activation_DataHandler__

#pragma interface

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

extern "Java"
{
  namespace java
  {
    namespace awt
    {
      namespace datatransfer
      {
          class DataFlavor;
      }
    }
    namespace net
    {
        class URL;
    }
  }
  namespace javax
  {
    namespace activation
    {
        class CommandInfo;
        class CommandMap;
        class DataContentHandler;
        class DataContentHandlerFactory;
        class DataHandler;
        class DataSource;
    }
  }
}

class javax::activation::DataHandler : public ::java::lang::Object
{

public:
  DataHandler(::javax::activation::DataSource *);
  DataHandler(::java::lang::Object *, ::java::lang::String *);
  DataHandler(::java::net::URL *);
  virtual ::javax::activation::DataSource * getDataSource();
  virtual ::java::lang::String * getName();
  virtual ::java::lang::String * getContentType();
  virtual ::java::io::InputStream * getInputStream();
  virtual void writeTo(::java::io::OutputStream *);
  virtual ::java::io::OutputStream * getOutputStream();
  virtual JArray< ::java::awt::datatransfer::DataFlavor * > * getTransferDataFlavors();
  virtual jboolean isDataFlavorSupported(::java::awt::datatransfer::DataFlavor *);
  virtual ::java::lang::Object * getTransferData(::java::awt::datatransfer::DataFlavor *);
  virtual void setCommandMap(::javax::activation::CommandMap *);
  virtual JArray< ::javax::activation::CommandInfo * > * getPreferredCommands();
  virtual JArray< ::javax::activation::CommandInfo * > * getAllCommands();
  virtual ::javax::activation::CommandInfo * getCommand(::java::lang::String *);
  virtual ::java::lang::Object * getContent();
  virtual ::java::lang::Object * getBean(::javax::activation::CommandInfo *);
  static void setDataContentHandlerFactory(::javax::activation::DataContentHandlerFactory *);
private:
  ::java::lang::String * getShortType();
  ::javax::activation::CommandMap * getCommandMap();
  ::javax::activation::DataContentHandler * getDataContentHandler();
  static JArray< ::java::awt::datatransfer::DataFlavor * > * NO_FLAVORS;
  static ::javax::activation::DataContentHandlerFactory * factory;
  ::javax::activation::DataSource * __attribute__((aligned(__alignof__( ::java::lang::Object)))) dataSource;
  ::javax::activation::DataSource * objDataSource;
  ::java::lang::Object * object;
  ::java::lang::String * objectMimeType;
  ::javax::activation::CommandMap * currentCommandMap;
  JArray< ::java::awt::datatransfer::DataFlavor * > * transferFlavors;
  ::javax::activation::DataContentHandler * dataContentHandler;
  ::javax::activation::DataContentHandler * factoryDCH;
  ::javax::activation::DataContentHandlerFactory * oldFactory;
  ::java::lang::String * shortType;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_activation_DataHandler__