    FOREIGN MODULE java_awt_datatransfer;

    IMPORT
        java_lang,
        java_security,
        java_io,
        java_util;

    TYPE

      Clipboard* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                     owner! : ClipboardOwner;
                     contents! : Transferable;
                   STATIC
                     PROCEDURE Init*(p0 : java_lang.String) : Clipboard,CONSTRUCTOR;
                   END;

      ClipboardOwner* = POINTER TO INTERFACE RECORD (java_lang.Object)
                        END;

      DataFlavor* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + java_io.Externalizable + java_lang.Cloneable)
                    STATIC
                      stringFlavor* : DataFlavor;
                      plainTextFlavor* : DataFlavor;
                      javaSerializedObjectMimeType* = "application/x-java-serialized-object";
                      javaFileListFlavor* : DataFlavor;
                      javaJVMLocalObjectMimeType* = "application/x-java-jvm-local-objectref";
                      javaRemoteObjectMimeType* = "application/x-java-remote-object";
                      PROCEDURE Init*() : DataFlavor,CONSTRUCTOR;
                      PROCEDURE Init*(p0 : java_lang.Class;
                                      p1 : java_lang.String) : DataFlavor,CONSTRUCTOR;
                      PROCEDURE Init*(p0 : java_lang.String) : DataFlavor,CONSTRUCTOR;
                      PROCEDURE Init*(p0 : java_lang.String;
                                      p1 : java_lang.String) : DataFlavor,CONSTRUCTOR;
                      PROCEDURE Init*(p0 : java_lang.String;
                                      p1 : java_lang.String;
                                      p2 : java_lang.ClassLoader) : DataFlavor,CONSTRUCTOR;
                      PROCEDURE tryToLoadClass!(p0 : java_lang.String;
                                                p1 : java_lang.ClassLoader) : java_lang.Class;
                    END;

      FlavorMap* = POINTER TO INTERFACE RECORD (java_lang.Object)
                   END;

      StringSelection* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + Transferable + ClipboardOwner)
                         STATIC
                           PROCEDURE Init*(p0 : java_lang.String) : StringSelection,CONSTRUCTOR;
                         END;

      SystemFlavorMap* = POINTER TO RECORD (java_lang.Object + FlavorMap)
                         STATIC
                           PROCEDURE decodeDataFlavor*(p0 : java_lang.String) : DataFlavor;
                           PROCEDURE decodeJavaMIMEType*(p0 : java_lang.String) : java_lang.String;
                           PROCEDURE encodeDataFlavor*(p0 : DataFlavor) : java_lang.String;
                           PROCEDURE encodeJavaMIMEType*(p0 : java_lang.String) : java_lang.String;
                           PROCEDURE getDefaultFlavorMap*() : FlavorMap;
                           PROCEDURE isJavaMIMEType*(p0 : java_lang.String) : BOOLEAN;
                         END;

      Transferable* = POINTER TO INTERFACE RECORD (java_lang.Object)
                      END;

      UnsupportedFlavorException* = POINTER TO EXTENSIBLE RECORD (java_lang.Exception)
                                    STATIC
                                      PROCEDURE Init*(p0 : DataFlavor) : UnsupportedFlavorException,CONSTRUCTOR;
                                    END;

    PROCEDURE (self:Clipboard) getContents*(p0 : java_lang.Object) : Transferable,NEW,EXTENSIBLE;

    PROCEDURE (self:Clipboard) getName*() : java_lang.String,NEW,EXTENSIBLE;

    PROCEDURE (self:Clipboard) setContents*(p0 : Transferable;
                                            p1 : ClipboardOwner),NEW,EXTENSIBLE;

    PROCEDURE (self:ClipboardOwner) lostOwnership*(p0 : Clipboard;
                                                   p1 : Transferable),NEW,ABSTRACT;

    PROCEDURE (self:DataFlavor) clone*() : java_lang.Object,EXTENSIBLE;

    PROCEDURE (self:DataFlavor) equals*(p0 : DataFlavor) : BOOLEAN,NEW,EXTENSIBLE;

    PROCEDURE (self:DataFlavor) equals*(p0 : java_lang.Object) : BOOLEAN,EXTENSIBLE;

    PROCEDURE (self:DataFlavor) equals*(p0 : java_lang.String) : BOOLEAN,NEW,EXTENSIBLE;

    PROCEDURE (self:DataFlavor) getHumanPresentableName*() : java_lang.String,NEW,EXTENSIBLE;

    PROCEDURE (self:DataFlavor) getMimeType*() : java_lang.String,NEW,EXTENSIBLE;

    PROCEDURE (self:DataFlavor) getParameter*(p0 : java_lang.String) : java_lang.String,NEW,EXTENSIBLE;

    PROCEDURE (self:DataFlavor) getPrimaryType*() : java_lang.String,NEW,EXTENSIBLE;

    PROCEDURE (self:DataFlavor) getRepresentationClass*() : java_lang.Class,NEW,EXTENSIBLE;

    PROCEDURE (self:DataFlavor) getSubType*() : java_lang.String,NEW,EXTENSIBLE;

    PROCEDURE (self:DataFlavor) isFlavorJavaFileListType*() : BOOLEAN,NEW,EXTENSIBLE;

    PROCEDURE (self:DataFlavor) isFlavorRemoteObjectType*() : BOOLEAN,NEW,EXTENSIBLE;

    PROCEDURE (self:DataFlavor) isFlavorSerializedObjectType*() : BOOLEAN,NEW,EXTENSIBLE;

    PROCEDURE (self:DataFlavor) isMimeTypeEqual*(p0 : DataFlavor) : BOOLEAN,NEW;

    PROCEDURE (self:DataFlavor) isMimeTypeEqual*(p0 : java_lang.String) : BOOLEAN,NEW,EXTENSIBLE;

    PROCEDURE (self:DataFlavor) isMimeTypeSerializedObject*() : BOOLEAN,NEW,EXTENSIBLE;

    PROCEDURE (self:DataFlavor) isRepresentationClassInputStream*() : BOOLEAN,NEW,EXTENSIBLE;

    PROCEDURE (self:DataFlavor) isRepresentationClassRemote*() : BOOLEAN,NEW,EXTENSIBLE;

    PROCEDURE (self:DataFlavor) isRepresentationClassSerializable*() : BOOLEAN,NEW,EXTENSIBLE;

    PROCEDURE (self:DataFlavor) normalizeMimeType!(p0 : java_lang.String) : java_lang.String,NEW,EXTENSIBLE;

    PROCEDURE (self:DataFlavor) normalizeMimeTypeParameter!(p0 : java_lang.String;
                                                            p1 : java_lang.String) : java_lang.String,NEW,EXTENSIBLE;

    PROCEDURE (self:DataFlavor) readExternal*(p0 : java_io.ObjectInput),NEW,EXTENSIBLE;

    PROCEDURE (self:DataFlavor) setHumanPresentableName*(p0 : java_lang.String),NEW,EXTENSIBLE;

    PROCEDURE (self:DataFlavor) writeExternal*(p0 : java_io.ObjectOutput),NEW,EXTENSIBLE;

    PROCEDURE (self:FlavorMap) getFlavorsForNatives*(IN  p0 : ARRAY OF java_lang.String) : java_util.Map,NEW,ABSTRACT;

    PROCEDURE (self:FlavorMap) getNativesForFlavors*(IN  p0 : ARRAY OF DataFlavor) : java_util.Map,NEW,ABSTRACT;

    PROCEDURE (self:StringSelection) getTransferData*(p0 : DataFlavor) : java_lang.Object,NEW,EXTENSIBLE;

    PROCEDURE (self:StringSelection) getTransferDataFlavors*() : POINTER TO ARRAY OF DataFlavor,NEW,EXTENSIBLE;

    PROCEDURE (self:StringSelection) isDataFlavorSupported*(p0 : DataFlavor) : BOOLEAN,NEW,EXTENSIBLE;

    PROCEDURE (self:StringSelection) lostOwnership*(p0 : Clipboard;
                                                    p1 : Transferable),NEW,EXTENSIBLE;

    PROCEDURE (self:SystemFlavorMap) getFlavorsForNatives*(IN  p0 : ARRAY OF java_lang.String) : java_util.Map,NEW,EXTENSIBLE;

    PROCEDURE (self:SystemFlavorMap) getNativesForFlavors*(IN  p0 : ARRAY OF DataFlavor) : java_util.Map,NEW,EXTENSIBLE;

    PROCEDURE (self:Transferable) getTransferData*(p0 : DataFlavor) : java_lang.Object,NEW,ABSTRACT;

    PROCEDURE (self:Transferable) getTransferDataFlavors*() : POINTER TO ARRAY OF DataFlavor,NEW,ABSTRACT;

    PROCEDURE (self:Transferable) isDataFlavorSupported*(p0 : DataFlavor) : BOOLEAN,NEW,ABSTRACT;

    END java_awt_datatransfer.