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

#ifndef __java_awt_datatransfer_SystemFlavorMap__
#define __java_awt_datatransfer_SystemFlavorMap__

#pragma interface

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

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

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

  SystemFlavorMap();
public: // actually package-private
  void setupMapping(::java::util::Properties *);
public:
  ::java::util::Map * getNativesForFlavors(JArray< ::java::awt::datatransfer::DataFlavor * > *);
  ::java::util::Map * getFlavorsForNatives(JArray< ::java::lang::String * > *);
  static ::java::awt::datatransfer::FlavorMap * getDefaultFlavorMap();
  static ::java::lang::String * encodeJavaMIMEType(::java::lang::String *);
  static ::java::lang::String * encodeDataFlavor(::java::awt::datatransfer::DataFlavor *);
  static jboolean isJavaMIMEType(::java::lang::String *);
  static ::java::lang::String * decodeJavaMIMEType(::java::lang::String *);
  static ::java::awt::datatransfer::DataFlavor * decodeDataFlavor(::java::lang::String *);
  ::java::util::List * getFlavorsForNative(::java::lang::String *);
  ::java::util::List * getNativesForFlavor(::java::awt::datatransfer::DataFlavor *);
  void addFlavorForUnencodedNative(::java::lang::String *, ::java::awt::datatransfer::DataFlavor *);
  void addUnencodedNativeForFlavor(::java::awt::datatransfer::DataFlavor *, ::java::lang::String *);
  void setNativesForFlavor(::java::awt::datatransfer::DataFlavor *, JArray< ::java::lang::String * > *);
  void setFlavorsForNative(::java::lang::String *, JArray< ::java::awt::datatransfer::DataFlavor * > *);
private:
  static ::java::util::Map * systemFlavorMaps;
  static ::java::lang::String * GNU_JAVA_MIME_PREFIX;
  ::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) nativeToFlavorMap;
  ::java::util::HashMap * flavorToNativeMap;
public:
  static ::java::lang::Class class$;
};

#endif // __java_awt_datatransfer_SystemFlavorMap__
