FOREIGN MODULE sun_awt_shell;

IMPORT
    java_io := "java.io",
    java_lang := "java.lang",
    java_awt := "java.awt",
    java_util := "java.util",
    java_util_concurrent := "java.util.concurrent",
    java_net := "java.net",
    javax_swing := "javax.swing",
    sun_java2d := "sun.java2d",
    java_security := "java.security",
    java_util_concurrent_locks := "java.util.concurrent.locks";

TYPE

  ShellFolder* = POINTER TO ABSTRACT RECORD (java_io.File)    (* Typebound Procedures *)
                   parent! : ShellFolder;
                 STATIC
                   PROCEDURE get*(p0 : java_lang.String) : java_lang.Object;
                   PROCEDURE getFolderColumns*(p0 : java_io.File) : POINTER TO ARRAY OF ShellFolderColumnInfo;
                   PROCEDURE getFolderColumnValue*(p0 : java_io.File;
                                                   p1 : INTEGER) : java_lang.Object;
                   PROCEDURE getInvoker*() : ShellFolder$Invoker;
                   PROCEDURE getNormalizedFile*(p0 : java_io.File) : java_io.File;
                   PROCEDURE getShellFolder*(p0 : java_io.File) : ShellFolder;
                   PROCEDURE invoke*(p0 : java_util_concurrent.Callable) : java_lang.Object;
                   PROCEDURE invoke*(p0 : java_util_concurrent.Callable;
                                     p1 : java_lang.Class) : java_lang.Object;
                   PROCEDURE isComputerNode*(p0 : java_io.File) : BOOLEAN;
                   PROCEDURE isFileSystemRoot*(p0 : java_io.File) : BOOLEAN;
                   PROCEDURE sortFiles*(p0 : java_util.List);
                 END;

  ShellFolder$Invoker* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
                         END;

  ShellFolderColumnInfo* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                           STATIC
                             PROCEDURE Init*(p0 : java_lang.String;
                                             p1 : INTEGER;
                                             p2 : INTEGER;
                                             p3 : BOOLEAN) : ShellFolderColumnInfo,CONSTRUCTOR;
                             PROCEDURE Init*(p0 : java_lang.String;
                                             p1 : java_lang.Integer;
                                             p2 : java_lang.Integer;
                                             p3 : BOOLEAN;
                                             p4 : javax_swing.SortOrder;
                                             p5 : java_util.Comparator) : ShellFolderColumnInfo,CONSTRUCTOR;
                             PROCEDURE Init*(p0 : java_lang.String;
                                             p1 : java_lang.Integer;
                                             p2 : java_lang.Integer;
                                             p3 : BOOLEAN;
                                             p4 : javax_swing.SortOrder;
                                             p5 : java_util.Comparator;
                                             p6 : BOOLEAN) : ShellFolderColumnInfo,CONSTRUCTOR;
                           END;

  Win32ShellFolder2$SystemIcon* = POINTER TO RECORD (java_lang.Enum)    (* Typebound Procedures *)
                                  STATIC
                                    IDI_APPLICATION* : Win32ShellFolder2$SystemIcon;
                                    IDI_ASTERISK*    : Win32ShellFolder2$SystemIcon;
                                    IDI_ERROR*       : Win32ShellFolder2$SystemIcon;
                                    IDI_EXCLAMATION* : Win32ShellFolder2$SystemIcon;
                                    IDI_HAND*        : Win32ShellFolder2$SystemIcon;
                                    IDI_INFORMATION* : Win32ShellFolder2$SystemIcon;
                                    IDI_QUESTION*    : Win32ShellFolder2$SystemIcon;
                                    IDI_WARNING*     : Win32ShellFolder2$SystemIcon;
                                    IDI_WINLOGO*     : Win32ShellFolder2$SystemIcon;
                                    PROCEDURE valueOf*(p0 : java_lang.String) : Win32ShellFolder2$SystemIcon;
                                    PROCEDURE values*() : POINTER TO ARRAY OF Win32ShellFolder2$SystemIcon;
                                  END;

  Win32ShellFolderManager2* = POINTER TO EXTENSIBLE RECORD (ShellFolderManager)    (* Typebound Procedures *)
                              STATIC
                                PROCEDURE Init*() : Win32ShellFolderManager2,CONSTRUCTOR;
                              END;




PROCEDURE (self:ShellFolder) canRead*() : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:ShellFolder) canWrite*() : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:ShellFolder) compareTo*(p0 : java_io.File) : INTEGER,EXTENSIBLE;

PROCEDURE (self:ShellFolder) compareTo*(p0 : java_lang.Object) : INTEGER,EXTENSIBLE;

PROCEDURE (self:ShellFolder) createNewFile*() : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:ShellFolder) delete*() : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:ShellFolder) deleteOnExit*(),EXTENSIBLE;

PROCEDURE (self:ShellFolder) exists*() : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:ShellFolder) getAbsoluteFile*() : java_io.File,EXTENSIBLE;

PROCEDURE (self:ShellFolder) getDisplayName*() : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:ShellFolder) getExecutableType*() : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:ShellFolder) getFolderColumns*() : POINTER TO ARRAY OF ShellFolderColumnInfo,NEW,EXTENSIBLE;

PROCEDURE (self:ShellFolder) getFolderColumnValue*(p0 : INTEGER) : java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:ShellFolder) getFolderType*() : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:ShellFolder) getIcon*(p0 : BOOLEAN) : java_awt.Image,NEW,EXTENSIBLE;

PROCEDURE (self:ShellFolder) getLinkLocation*() : ShellFolder,NEW,ABSTRACT;

PROCEDURE (self:ShellFolder) getParent*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:ShellFolder) getParentFile*() : java_io.File,EXTENSIBLE;

PROCEDURE (self:ShellFolder) isAbsolute*() : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:ShellFolder) isDirectory*() : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:ShellFolder) isFile*() : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:ShellFolder) isFileSystem*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:ShellFolder) isLink*() : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:ShellFolder) lastModified*() : LONGINT,EXTENSIBLE;

PROCEDURE (self:ShellFolder) length*() : LONGINT,EXTENSIBLE;

PROCEDURE (self:ShellFolder) listFiles*() : POINTER TO ARRAY OF java_io.File,EXTENSIBLE;

PROCEDURE (self:ShellFolder) listFiles*(p0 : BOOLEAN) : POINTER TO ARRAY OF java_io.File,NEW,EXTENSIBLE;

PROCEDURE (self:ShellFolder) mkdir*() : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:ShellFolder) mkdirs*() : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:ShellFolder) renameTo*(p0 : java_io.File) : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:ShellFolder) setLastModified*(p0 : LONGINT) : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:ShellFolder) setReadOnly*() : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:ShellFolder) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:ShellFolder) writeReplace!() : java_lang.Object,NEW,ABSTRACT;

PROCEDURE (self:ShellFolder$Invoker) invoke*(p0 : java_util_concurrent.Callable) : java_lang.Object,NEW,ABSTRACT;

PROCEDURE (self:ShellFolderColumnInfo) getAlignment*() : java_lang.Integer,NEW,EXTENSIBLE;

PROCEDURE (self:ShellFolderColumnInfo) getComparator*() : java_util.Comparator,NEW,EXTENSIBLE;

PROCEDURE (self:ShellFolderColumnInfo) getSortOrder*() : javax_swing.SortOrder,NEW,EXTENSIBLE;

PROCEDURE (self:ShellFolderColumnInfo) getTitle*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:ShellFolderColumnInfo) getWidth*() : java_lang.Integer,NEW,EXTENSIBLE;

PROCEDURE (self:ShellFolderColumnInfo) isCompareByColumn*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:ShellFolderColumnInfo) isVisible*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:ShellFolderColumnInfo) setAlignment*(p0 : java_lang.Integer),NEW,EXTENSIBLE;

PROCEDURE (self:ShellFolderColumnInfo) setComparator*(p0 : java_util.Comparator),NEW,EXTENSIBLE;

PROCEDURE (self:ShellFolderColumnInfo) setCompareByColumn*(p0 : BOOLEAN),NEW,EXTENSIBLE;

PROCEDURE (self:ShellFolderColumnInfo) setSortOrder*(p0 : javax_swing.SortOrder),NEW,EXTENSIBLE;

PROCEDURE (self:ShellFolderColumnInfo) setTitle*(p0 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:ShellFolderColumnInfo) setVisible*(p0 : BOOLEAN),NEW,EXTENSIBLE;

PROCEDURE (self:ShellFolderColumnInfo) setWidth*(p0 : java_lang.Integer),NEW,EXTENSIBLE;

PROCEDURE (self:Win32ShellFolder2$SystemIcon) getIconID*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Win32ShellFolderManager2) createInvoker!() : ShellFolder$Invoker,EXTENSIBLE;

PROCEDURE (self:Win32ShellFolderManager2) createShellFolder*(p0 : java_io.File) : ShellFolder,EXTENSIBLE;

PROCEDURE (self:Win32ShellFolderManager2) get*(p0 : java_lang.String) : java_lang.Object,EXTENSIBLE;

PROCEDURE (self:Win32ShellFolderManager2) getFolderColumns*(p0 : java_io.File) : POINTER TO ARRAY OF ShellFolderColumnInfo,EXTENSIBLE;

PROCEDURE (self:Win32ShellFolderManager2) getFolderColumnValue*(p0 : java_io.File;
                                                                p1 : INTEGER) : java_lang.Object,EXTENSIBLE;

PROCEDURE (self:Win32ShellFolderManager2) isComputerNode*(p0 : java_io.File) : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:Win32ShellFolderManager2) isFileSystemRoot*(p0 : java_io.File) : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:Win32ShellFolderManager2) sortFiles*(p0 : java_util.List),EXTENSIBLE;

END sun_awt_shell.