FOREIGN MODULE sun_awt_datatransfer;

IMPORT
    java_util := "java.util",
    java_io := "java.io",
    java_lang := "java.lang",
    java_security := "java.security",
    java_awt_datatransfer := "java.awt.datatransfer",
    java_nio_charset := "java.nio.charset",
    java_nio := "java.nio",
    sun_awt := "sun.awt",
    java_awt := "java.awt",
    java_awt_image := "java.awt.image",
    java_beans := "java.beans";

TYPE

  ClipboardTransferable* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + java_awt_datatransfer.Transferable)    (* Typebound Procedures *)
                           STATIC
                             PROCEDURE Init*(p0 : SunClipboard) : ClipboardTransferable,CONSTRUCTOR;
                           END;

  DataTransferer* = POINTER TO ABSTRACT RECORD (java_lang.Object)    (* Typebound Procedures *)
                    STATIC
                      byteArrayClass*             : java_lang.Class;
                      charArrayClass*             : java_lang.Class;
                      javaTextEncodingFlavor*     : java_awt_datatransfer.DataFlavor;
                      plainTextStringFlavor*      : java_awt_datatransfer.DataFlavor;
                      PROCEDURE adaptFlavorMap*(p0 : java_awt_datatransfer.FlavorMap) : java_awt_datatransfer.FlavorTable;
                      PROCEDURE canonicalName*(p0 : java_lang.String) : java_lang.String;
                      PROCEDURE doesSubtypeSupportCharset*(p0 : java_awt_datatransfer.DataFlavor) : BOOLEAN;
                      PROCEDURE doesSubtypeSupportCharset*(p0 : java_lang.String;
                                                           p1 : java_lang.String) : BOOLEAN;
                      PROCEDURE getDefaultTextCharset*() : java_lang.String;
                      PROCEDURE getInstance*() : DataTransferer;
                      PROCEDURE getTextCharset*(p0 : java_awt_datatransfer.DataFlavor) : java_lang.String;
                      PROCEDURE Init*() : DataTransferer,CONSTRUCTOR;
                      PROCEDURE inputStreamToByteArray!(p0 : java_io.InputStream) : POINTER TO ARRAY OF BYTE;
                      PROCEDURE isEncodingSupported*(p0 : java_lang.String) : BOOLEAN;
                      PROCEDURE isFlavorCharsetTextType*(p0 : java_awt_datatransfer.DataFlavor) : BOOLEAN;
                      PROCEDURE isFlavorNoncharsetTextType*(p0 : java_awt_datatransfer.DataFlavor) : BOOLEAN;
                      PROCEDURE keysToDataFlavorArray*(p0 : java_util.Map) : POINTER TO ARRAY OF java_awt_datatransfer.DataFlavor;
                      PROCEDURE keysToLongArray*(p0 : java_util.SortedMap) : POINTER TO ARRAY OF LONGINT;
                      PROCEDURE setToSortedDataFlavorArray*(p0 : java_util.Set;
                                                            p1 : java_util.Map) : POINTER TO ARRAY OF java_awt_datatransfer.DataFlavor;
                      PROCEDURE setToSortedDataFlavorArray*(p0 : java_util.Set) : POINTER TO ARRAY OF java_awt_datatransfer.DataFlavor;
                      PROCEDURE standardEncodings*() : java_util.Iterator;
                    END;

  DataTransferer$CharsetComparator* = POINTER TO EXTENSIBLE RECORD (DataTransferer$IndexedComparator)    (* Typebound Procedures *)
                                      STATIC
                                        PROCEDURE getEncoding!(p0 : java_lang.String) : java_lang.String;
                                        PROCEDURE Init*(p0 : BOOLEAN) : DataTransferer$CharsetComparator,CONSTRUCTOR;
                                        PROCEDURE Init*() : DataTransferer$CharsetComparator,CONSTRUCTOR;
                                      END;

  DataTransferer$DataFlavorComparator* = POINTER TO EXTENSIBLE RECORD (DataTransferer$IndexedComparator)    (* Typebound Procedures *)
                                           flavorToFormatMap! : java_util.Map;
                                         STATIC
                                           PROCEDURE Init*(p0 : java_util.Map) : DataTransferer$DataFlavorComparator,CONSTRUCTOR;
                                           PROCEDURE Init*(p0 : java_util.Map;
                                                           p1 : BOOLEAN) : DataTransferer$DataFlavorComparator,CONSTRUCTOR;
                                           PROCEDURE Init*() : DataTransferer$DataFlavorComparator,CONSTRUCTOR;
                                           PROCEDURE Init*(p0 : BOOLEAN) : DataTransferer$DataFlavorComparator,CONSTRUCTOR;
                                         END;

  DataTransferer$IndexedComparator* = POINTER TO ABSTRACT RECORD (java_lang.Object + java_util.Comparator)
                                        order! : BOOLEAN;
                                      STATIC
                                        SELECT_BEST*    = 1;
                                        SELECT_WORST*   = 0;
                                        PROCEDURE compareIndices!(p0 : java_util.Map;
                                                                  p1 : java_lang.Object;
                                                                  p2 : java_lang.Object;
                                                                  p3 : java_lang.Integer) : INTEGER;
                                        PROCEDURE compareLongs!(p0 : java_util.Map;
                                                                p1 : java_lang.Object;
                                                                p2 : java_lang.Object;
                                                                p3 : java_lang.Long) : INTEGER;
                                        PROCEDURE Init*() : DataTransferer$IndexedComparator,CONSTRUCTOR;
                                        PROCEDURE Init*(p0 : BOOLEAN) : DataTransferer$IndexedComparator,CONSTRUCTOR;
                                      END;

  DataTransferer$IndexOrderComparator* = POINTER TO EXTENSIBLE RECORD (DataTransferer$IndexedComparator)    (* Typebound Procedures *)
                                         STATIC
                                           PROCEDURE Init*(p0 : java_util.Map;
                                                           p1 : BOOLEAN) : DataTransferer$IndexOrderComparator,CONSTRUCTOR;
                                           PROCEDURE Init*(p0 : java_util.Map) : DataTransferer$IndexOrderComparator,CONSTRUCTOR;
                                         END;

  DataTransferer$ReencodingInputStream* = POINTER TO EXTENSIBLE RECORD (java_io.InputStream)    (* Typebound Procedures *)
                                            wrapped!        : java_io.BufferedReader;
                                            in!             : POINTER TO ARRAY OF CHAR;
                                            out!            : POINTER TO ARRAY OF BYTE;
                                            encoder!        : java_nio_charset.CharsetEncoder;
                                            inBuf!          : java_nio.CharBuffer;
                                            outBuf!         : java_nio.ByteBuffer;
                                            eoln!           : POINTER TO ARRAY OF CHAR;
                                            numTerminators! : INTEGER;
                                            eos!            : BOOLEAN;
                                            index!          : INTEGER;
                                            limit!          : INTEGER;
                                          STATIC
                                            PROCEDURE Init*(p0 : DataTransferer;
                                                            p1 : java_io.InputStream;
                                                            p2 : LONGINT;
                                                            p3 : java_lang.String;
                                                            p4 : java_awt_datatransfer.Transferable) : DataTransferer$ReencodingInputStream,CONSTRUCTOR;
                                          END;

  SunClipboard* = POINTER TO ABSTRACT RECORD (java_awt_datatransfer.Clipboard + java_beans.PropertyChangeListener)    (* Typebound Procedures *)
                  STATIC
                    flavorMap* : java_awt_datatransfer.FlavorTable;
                    PROCEDURE Init*(p0 : java_lang.String) : SunClipboard,CONSTRUCTOR;
                  END;

  ToolkitThreadBlockedHandler* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
                                 END;

  TransferableProxy* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + java_awt_datatransfer.Transferable)    (* Typebound Procedures *)
                         transferable! : java_awt_datatransfer.Transferable;
                         isLocal!      : BOOLEAN;
                       STATIC
                         PROCEDURE Init*(p0 : java_awt_datatransfer.Transferable;
                                         p1 : BOOLEAN) : TransferableProxy,CONSTRUCTOR;
                       END;




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

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

PROCEDURE (self:ClipboardTransferable) isDataFlavorSupported*(p0 : java_awt_datatransfer.DataFlavor) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:DataTransferer) convertData*(p0 : java_lang.Object;
                                             p1 : java_awt_datatransfer.Transferable;
                                             p2 : LONGINT;
                                             p3 : java_util.Map;
                                             p4 : BOOLEAN) : POINTER TO ARRAY OF BYTE,NEW,EXTENSIBLE;

PROCEDURE (self:DataTransferer) dragQueryFile!(IN  p0 : ARRAY OF BYTE) : POINTER TO ARRAY OF java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:DataTransferer) getCharsetForTextFormat!(p0 : java_lang.Long) : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:DataTransferer) getDefaultUnicodeEncoding*() : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:DataTransferer) getFlavorsForFormat*(p0 : LONGINT;
                                                     p1 : java_awt_datatransfer.FlavorTable) : java_util.Map,NEW,EXTENSIBLE;

PROCEDURE (self:DataTransferer) getFlavorsForFormatAsArray*(p0 : LONGINT;
                                                            p1 : java_awt_datatransfer.FlavorTable) : POINTER TO ARRAY OF java_awt_datatransfer.DataFlavor,NEW,EXTENSIBLE;

PROCEDURE (self:DataTransferer) getFlavorsForFormats*(IN  p0 : ARRAY OF LONGINT;
                                                          p1 : java_awt_datatransfer.FlavorTable) : java_util.Map,NEW,EXTENSIBLE;

PROCEDURE (self:DataTransferer) getFlavorsForFormatsAsArray*(IN  p0 : ARRAY OF LONGINT;
                                                                 p1 : java_awt_datatransfer.FlavorTable) : POINTER TO ARRAY OF java_awt_datatransfer.DataFlavor,NEW,EXTENSIBLE;

PROCEDURE (self:DataTransferer) getFlavorsForFormatsAsSet*(IN  p0 : ARRAY OF LONGINT;
                                                               p1 : java_awt_datatransfer.FlavorTable) : java_util.Set,NEW,EXTENSIBLE;

PROCEDURE (self:DataTransferer) getFormatForNativeAsLong!(p0 : java_lang.String) : java_lang.Long,NEW,ABSTRACT;

PROCEDURE (self:DataTransferer) getFormatsForFlavor*(p0 : java_awt_datatransfer.DataFlavor;
                                                     p1 : java_awt_datatransfer.FlavorTable) : java_util.SortedMap,NEW,EXTENSIBLE;

PROCEDURE (self:DataTransferer) getFormatsForFlavorAsArray*(p0 : java_awt_datatransfer.DataFlavor;
                                                            p1 : java_awt_datatransfer.FlavorTable) : POINTER TO ARRAY OF LONGINT,NEW,EXTENSIBLE;

PROCEDURE (self:DataTransferer) getFormatsForFlavors*(IN  p0 : ARRAY OF java_awt_datatransfer.DataFlavor;
                                                          p1 : java_awt_datatransfer.FlavorTable) : java_util.SortedMap,NEW,EXTENSIBLE;

PROCEDURE (self:DataTransferer) getFormatsForFlavorsAsArray*(IN  p0 : ARRAY OF java_awt_datatransfer.DataFlavor;
                                                                 p1 : java_awt_datatransfer.FlavorTable) : POINTER TO ARRAY OF LONGINT,NEW,EXTENSIBLE;

PROCEDURE (self:DataTransferer) getFormatsForTransferable*(p0 : java_awt_datatransfer.Transferable;
                                                           p1 : java_awt_datatransfer.FlavorTable) : java_util.SortedMap,NEW,EXTENSIBLE;

PROCEDURE (self:DataTransferer) getFormatsForTransferableAsArray*(p0 : java_awt_datatransfer.Transferable;
                                                                  p1 : java_awt_datatransfer.FlavorTable) : POINTER TO ARRAY OF LONGINT,NEW,EXTENSIBLE;

PROCEDURE (self:DataTransferer) getNativeForFormat!(p0 : LONGINT) : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:DataTransferer) getPlatformMappingsForFlavor*(p0 : java_awt_datatransfer.DataFlavor) : java_util.List,NEW,EXTENSIBLE;

PROCEDURE (self:DataTransferer) getPlatformMappingsForNative*(p0 : java_lang.String) : java_util.List,NEW,EXTENSIBLE;

PROCEDURE (self:DataTransferer) getToolkitThreadBlockedHandler*() : ToolkitThreadBlockedHandler,NEW,ABSTRACT;

PROCEDURE (self:DataTransferer) imageToPlatformBytes!(p0 : java_awt.Image;
                                                      p1 : LONGINT) : POINTER TO ARRAY OF BYTE,NEW,ABSTRACT;

PROCEDURE (self:DataTransferer) imageToStandardBytes!(p0 : java_awt.Image;
                                                      p1 : java_lang.String) : POINTER TO ARRAY OF BYTE,NEW,EXTENSIBLE;

PROCEDURE (self:DataTransferer) imageToStandardBytesImpl!(p0 : java_awt_image.RenderedImage;
                                                          p1 : java_lang.String) : POINTER TO ARRAY OF BYTE,NEW,EXTENSIBLE;

PROCEDURE (self:DataTransferer) isFileFormat*(p0 : LONGINT) : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:DataTransferer) isImageFormat*(p0 : LONGINT) : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:DataTransferer) isLocaleDependentTextFormat*(p0 : LONGINT) : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:DataTransferer) isTextFormat!(p0 : LONGINT) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:DataTransferer) platformImageBytesOrStreamToImage!(    p0 : java_io.InputStream;
                                                                   IN  p1 : ARRAY OF BYTE;
                                                                       p2 : LONGINT) : java_awt.Image,NEW,ABSTRACT;

PROCEDURE (self:DataTransferer) processDataConversionRequests*(),NEW,EXTENSIBLE;

PROCEDURE (self:DataTransferer) registerTextFlavorProperties*(p0 : java_lang.String;
                                                              p1 : java_lang.String;
                                                              p2 : java_lang.String;
                                                              p3 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:DataTransferer) standardImageBytesOrStreamToImage!(    p0 : java_io.InputStream;
                                                                   IN  p1 : ARRAY OF BYTE;
                                                                       p2 : java_lang.String) : java_awt.Image,NEW,EXTENSIBLE;

PROCEDURE (self:DataTransferer) translateBytes*(IN  p0 : ARRAY OF BYTE;
                                                    p1 : java_awt_datatransfer.DataFlavor;
                                                    p2 : LONGINT;
                                                    p3 : java_awt_datatransfer.Transferable) : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:DataTransferer) translateBytesOrStream!(    p0 : java_io.InputStream;
                                                        IN  p1 : ARRAY OF BYTE;
                                                            p2 : java_awt_datatransfer.DataFlavor;
                                                            p3 : LONGINT;
                                                            p4 : java_awt_datatransfer.Transferable) : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:DataTransferer) translateStream*(p0 : java_io.InputStream;
                                                 p1 : java_awt_datatransfer.DataFlavor;
                                                 p2 : LONGINT;
                                                 p3 : java_awt_datatransfer.Transferable) : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:DataTransferer) translateTransferable*(p0 : java_awt_datatransfer.Transferable;
                                                       p1 : java_awt_datatransfer.DataFlavor;
                                                       p2 : LONGINT) : POINTER TO ARRAY OF BYTE,NEW,EXTENSIBLE;

PROCEDURE (self:DataTransferer$CharsetComparator) compare*(p0 : java_lang.Object;
                                                           p1 : java_lang.Object) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:DataTransferer$CharsetComparator) compareCharsets!(p0 : java_lang.String;
                                                                   p1 : java_lang.String) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:DataTransferer$DataFlavorComparator) compare*(p0 : java_lang.Object;
                                                              p1 : java_lang.Object) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:DataTransferer$IndexOrderComparator) compare*(p0 : java_lang.Object;
                                                              p1 : java_lang.Object) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:DataTransferer$ReencodingInputStream) available*() : INTEGER,EXTENSIBLE;

PROCEDURE (self:DataTransferer$ReencodingInputStream) close*(),EXTENSIBLE;

PROCEDURE (self:DataTransferer$ReencodingInputStream) read*() : INTEGER,EXTENSIBLE;

PROCEDURE (self:SunClipboard) addFlavorListener*(p0 : java_awt_datatransfer.FlavorListener),EXTENSIBLE;

PROCEDURE (self:SunClipboard) areFlavorListenersRegistered*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:SunClipboard) checkChange*(IN  p0 : ARRAY OF LONGINT),NEW,EXTENSIBLE;

PROCEDURE (self:SunClipboard) clearNativeContext!(),NEW,ABSTRACT;

PROCEDURE (self:SunClipboard) closeClipboard*(),NEW,EXTENSIBLE;

PROCEDURE (self:SunClipboard) createLocaleTransferable!(IN  p0 : ARRAY OF LONGINT) : java_awt_datatransfer.Transferable,NEW,EXTENSIBLE;

PROCEDURE (self:SunClipboard) getAvailableDataFlavors*() : POINTER TO ARRAY OF java_awt_datatransfer.DataFlavor,EXTENSIBLE;

PROCEDURE (self:SunClipboard) getClipboardData!(p0 : LONGINT) : POINTER TO ARRAY OF BYTE,NEW,ABSTRACT;

PROCEDURE (self:SunClipboard) getClipboardFormats!() : POINTER TO ARRAY OF LONGINT,NEW,ABSTRACT;

PROCEDURE (self:SunClipboard) getClipboardFormatsOpenClose!() : POINTER TO ARRAY OF LONGINT,NEW,EXTENSIBLE;

PROCEDURE (self:SunClipboard) getContents*(p0 : java_lang.Object) : java_awt_datatransfer.Transferable,EXTENSIBLE;

PROCEDURE (self:SunClipboard) getData*(p0 : java_awt_datatransfer.DataFlavor) : java_lang.Object,EXTENSIBLE;

PROCEDURE (self:SunClipboard) getFlavorListeners*() : POINTER TO ARRAY OF java_awt_datatransfer.FlavorListener,EXTENSIBLE;

PROCEDURE (self:SunClipboard) getID*() : LONGINT,NEW,ABSTRACT;

PROCEDURE (self:SunClipboard) isDataFlavorAvailable*(p0 : java_awt_datatransfer.DataFlavor) : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:SunClipboard) lostOwnershipImpl!(),NEW,EXTENSIBLE;

PROCEDURE (self:SunClipboard) lostOwnershipLater!(p0 : sun_awt.AppContext),NEW,EXTENSIBLE;

PROCEDURE (self:SunClipboard) openClipboard*(p0 : SunClipboard),NEW,EXTENSIBLE;

PROCEDURE (self:SunClipboard) propertyChange*(p0 : java_beans.PropertyChangeEvent),NEW,EXTENSIBLE;

PROCEDURE (self:SunClipboard) registerClipboardViewerChecked!(),NEW,ABSTRACT;

PROCEDURE (self:SunClipboard) removeFlavorListener*(p0 : java_awt_datatransfer.FlavorListener),EXTENSIBLE;

PROCEDURE (self:SunClipboard) setContents*(p0 : java_awt_datatransfer.Transferable;
                                           p1 : java_awt_datatransfer.ClipboardOwner),EXTENSIBLE;

PROCEDURE (self:SunClipboard) setContentsNative!(p0 : java_awt_datatransfer.Transferable),NEW,ABSTRACT;

PROCEDURE (self:SunClipboard) unregisterClipboardViewerChecked!(),NEW,ABSTRACT;

PROCEDURE (self:ToolkitThreadBlockedHandler) enter*(),NEW,ABSTRACT;

PROCEDURE (self:ToolkitThreadBlockedHandler) exit*(),NEW,ABSTRACT;

PROCEDURE (self:ToolkitThreadBlockedHandler) lock*(),NEW,ABSTRACT;

PROCEDURE (self:ToolkitThreadBlockedHandler) unlock*(),NEW,ABSTRACT;

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

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

PROCEDURE (self:TransferableProxy) isDataFlavorSupported*(p0 : java_awt_datatransfer.DataFlavor) : BOOLEAN,NEW,EXTENSIBLE;

END sun_awt_datatransfer.