FOREIGN MODULE java_util_logging;

IMPORT
    java_io := "java.io",
    java_lang := "java.lang",
    java_security := "java.security",
    java_util := "java.util",
    sun_nio_ch := "sun.nio.ch",
    sun_misc := "sun.misc",
    java_lang_ref := "java.lang.ref",
    java_beans := "java.beans",
    java_text := "java.text",
    java_net := "java.net";

TYPE

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

  ErrorManager* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                  STATIC
                    CLOSE_FAILURE*   = 3;
                    FLUSH_FAILURE*   = 2;
                    FORMAT_FAILURE*  = 5;
                    GENERIC_FAILURE* = 0;
                    OPEN_FAILURE*    = 4;
                    WRITE_FAILURE*   = 1;
                    PROCEDURE Init*() : ErrorManager,CONSTRUCTOR;
                  END;

  FileHandler* = POINTER TO EXTENSIBLE RECORD (StreamHandler)    (* Typebound Procedures *)
                 STATIC
                   PROCEDURE Init*(p0 : java_lang.String;
                                   p1 : INTEGER;
                                   p2 : INTEGER) : FileHandler,CONSTRUCTOR;
                   PROCEDURE Init*(p0 : java_lang.String;
                                   p1 : INTEGER;
                                   p2 : INTEGER;
                                   p3 : BOOLEAN) : FileHandler,CONSTRUCTOR;
                   PROCEDURE Init*(p0 : java_lang.String;
                                   p1 : BOOLEAN) : FileHandler,CONSTRUCTOR;
                   PROCEDURE Init*() : FileHandler,CONSTRUCTOR;
                   PROCEDURE Init*(p0 : java_lang.String) : FileHandler,CONSTRUCTOR;
                 END;

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

  Formatter* = POINTER TO ABSTRACT RECORD (java_lang.Object)    (* Typebound Procedures *)
               STATIC
                 PROCEDURE Init!() : Formatter,CONSTRUCTOR;
               END;

  Handler* = POINTER TO ABSTRACT RECORD (java_lang.Object)    (* Typebound Procedures *)
             STATIC
               PROCEDURE Init!() : Handler,CONSTRUCTOR;
             END;

  Level* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + java_io.Serializable)    (* Typebound Procedures *)
           STATIC
             ALL*     : Level;
             CONFIG*  : Level;
             FINE*    : Level;
             FINER*   : Level;
             FINEST*  : Level;
             INFO*    : Level;
             OFF*     : Level;
             SEVERE*  : Level;
             WARNING* : Level;
             PROCEDURE Init!(p0 : java_lang.String;
                             p1 : INTEGER;
                             p2 : java_lang.String) : Level,CONSTRUCTOR;
             PROCEDURE Init!(p0 : java_lang.String;
                             p1 : INTEGER) : Level,CONSTRUCTOR;
             PROCEDURE parse*(p0 : java_lang.String) : Level;
           END;

  Logger* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
            STATIC
              global*             : Logger;
              GLOBAL_LOGGER_NAME* = "global";
              PROCEDURE getAnonymousLogger*() : Logger;
              PROCEDURE getAnonymousLogger*(p0 : java_lang.String) : Logger;
              PROCEDURE getLogger*(p0 : java_lang.String;
                                   p1 : java_lang.String) : Logger;
              PROCEDURE getLogger*(p0 : java_lang.String) : Logger;
              PROCEDURE Init!(p0 : java_lang.String;
                              p1 : java_lang.String) : Logger,CONSTRUCTOR;
            END;

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

  LoggingPermission* = POINTER TO RECORD (java_security.BasicPermission)
                       STATIC
                         PROCEDURE Init*(p0 : java_lang.String;
                                         p1 : java_lang.String) : LoggingPermission,CONSTRUCTOR;
                       END;

  LogManager* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                STATIC
                  LOGGING_MXBEAN_NAME* = "java.util.logging:type=Logging";
                  PROCEDURE getLoggingMXBean*() : LoggingMXBean;
                  PROCEDURE getLogManager*() : LogManager;
                  PROCEDURE Init!() : LogManager,CONSTRUCTOR;
                END;

  LogRecord* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + java_io.Serializable)    (* Typebound Procedures *)
               STATIC
                 PROCEDURE Init*(p0 : Level;
                                 p1 : java_lang.String) : LogRecord,CONSTRUCTOR;
               END;

  MemoryHandler* = POINTER TO EXTENSIBLE RECORD (Handler)    (* Typebound Procedures *)
                   STATIC
                     PROCEDURE Init*(p0 : Handler;
                                     p1 : INTEGER;
                                     p2 : Level) : MemoryHandler,CONSTRUCTOR;
                     PROCEDURE Init*() : MemoryHandler,CONSTRUCTOR;
                   END;

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

  SocketHandler* = POINTER TO EXTENSIBLE RECORD (StreamHandler)    (* Typebound Procedures *)
                   STATIC
                     PROCEDURE Init*(p0 : java_lang.String;
                                     p1 : INTEGER) : SocketHandler,CONSTRUCTOR;
                     PROCEDURE Init*() : SocketHandler,CONSTRUCTOR;
                   END;

  StreamHandler* = POINTER TO EXTENSIBLE RECORD (Handler)    (* Typebound Procedures *)
                   STATIC
                     PROCEDURE Init*(p0 : java_io.OutputStream;
                                     p1 : Formatter) : StreamHandler,CONSTRUCTOR;
                     PROCEDURE Init*() : StreamHandler,CONSTRUCTOR;
                   END;

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




PROCEDURE (self:ConsoleHandler) close*(),EXTENSIBLE;

PROCEDURE (self:ConsoleHandler) publish*(p0 : LogRecord),EXTENSIBLE;

PROCEDURE (self:ErrorManager) error*(p0 : java_lang.String;
                                     p1 : java_lang.Exception;
                                     p2 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:FileHandler) close*(),EXTENSIBLE;

PROCEDURE (self:FileHandler) publish*(p0 : LogRecord),EXTENSIBLE;

PROCEDURE (self:Filter) isLoggable*(p0 : LogRecord) : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:Formatter) format*(p0 : LogRecord) : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:Formatter) formatMessage*(p0 : LogRecord) : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:Formatter) getHead*(p0 : Handler) : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:Formatter) getTail*(p0 : Handler) : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:Handler) close*(),NEW,ABSTRACT;

PROCEDURE (self:Handler) flush*(),NEW,ABSTRACT;

PROCEDURE (self:Handler) getEncoding*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:Handler) getErrorManager*() : ErrorManager,NEW,EXTENSIBLE;

PROCEDURE (self:Handler) getFilter*() : Filter,NEW,EXTENSIBLE;

PROCEDURE (self:Handler) getFormatter*() : Formatter,NEW,EXTENSIBLE;

PROCEDURE (self:Handler) getLevel*() : Level,NEW,EXTENSIBLE;

PROCEDURE (self:Handler) isLoggable*(p0 : LogRecord) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Handler) publish*(p0 : LogRecord),NEW,ABSTRACT;

PROCEDURE (self:Handler) reportError!(p0 : java_lang.String;
                                      p1 : java_lang.Exception;
                                      p2 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:Handler) setEncoding*(p0 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:Handler) setErrorManager*(p0 : ErrorManager),NEW,EXTENSIBLE;

PROCEDURE (self:Handler) setFilter*(p0 : Filter),NEW,EXTENSIBLE;

PROCEDURE (self:Handler) setFormatter*(p0 : Formatter),NEW,EXTENSIBLE;

PROCEDURE (self:Handler) setLevel*(p0 : Level),NEW,EXTENSIBLE;

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

PROCEDURE (self:Level) getLocalizedName*() : java_lang.String,NEW,EXTENSIBLE;

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

PROCEDURE (self:Level) getResourceBundleName*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:Level) hashCode*() : INTEGER,EXTENSIBLE;

PROCEDURE (self:Level) intValue*() : INTEGER,NEW;

PROCEDURE (self:Level) toString*() : java_lang.String;

PROCEDURE (self:Logger) addHandler*(p0 : Handler),NEW,EXTENSIBLE;

PROCEDURE (self:Logger) config*(p0 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:Logger) entering*(    p0 : java_lang.String;
                                      p1 : java_lang.String;
                                  IN  p2 : ARRAY OF java_lang.Object),NEW,EXTENSIBLE;

PROCEDURE (self:Logger) entering*(p0 : java_lang.String;
                                  p1 : java_lang.String;
                                  p2 : java_lang.Object),NEW,EXTENSIBLE;

PROCEDURE (self:Logger) entering*(p0 : java_lang.String;
                                  p1 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:Logger) exiting*(p0 : java_lang.String;
                                 p1 : java_lang.String;
                                 p2 : java_lang.Object),NEW,EXTENSIBLE;

PROCEDURE (self:Logger) exiting*(p0 : java_lang.String;
                                 p1 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:Logger) fine*(p0 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:Logger) finer*(p0 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:Logger) finest*(p0 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:Logger) getFilter*() : Filter,NEW,EXTENSIBLE;

PROCEDURE (self:Logger) getHandlers*() : POINTER TO ARRAY OF Handler,NEW,EXTENSIBLE;

PROCEDURE (self:Logger) getLevel*() : Level,NEW,EXTENSIBLE;

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

PROCEDURE (self:Logger) getParent*() : Logger,NEW,EXTENSIBLE;

PROCEDURE (self:Logger) getResourceBundle*() : java_util.ResourceBundle,NEW,EXTENSIBLE;

PROCEDURE (self:Logger) getResourceBundleName*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:Logger) getUseParentHandlers*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Logger) info*(p0 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:Logger) isLoggable*(p0 : Level) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Logger) log*(p0 : Level;
                             p1 : java_lang.String;
                             p2 : java_lang.Throwable),NEW,EXTENSIBLE;

PROCEDURE (self:Logger) log*(p0 : Level;
                             p1 : java_lang.String;
                             p2 : java_lang.Object),NEW,EXTENSIBLE;

PROCEDURE (self:Logger) log*(    p0 : Level;
                                 p1 : java_lang.String;
                             IN  p2 : ARRAY OF java_lang.Object),NEW,EXTENSIBLE;

PROCEDURE (self:Logger) log*(p0 : Level;
                             p1 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:Logger) log*(p0 : LogRecord),NEW,EXTENSIBLE;

PROCEDURE (self:Logger) logp*(p0 : Level;
                              p1 : java_lang.String;
                              p2 : java_lang.String;
                              p3 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:Logger) logp*(p0 : Level;
                              p1 : java_lang.String;
                              p2 : java_lang.String;
                              p3 : java_lang.String;
                              p4 : java_lang.Object),NEW,EXTENSIBLE;

PROCEDURE (self:Logger) logp*(p0 : Level;
                              p1 : java_lang.String;
                              p2 : java_lang.String;
                              p3 : java_lang.String;
                              p4 : java_lang.Throwable),NEW,EXTENSIBLE;

PROCEDURE (self:Logger) logp*(    p0 : Level;
                                  p1 : java_lang.String;
                                  p2 : java_lang.String;
                                  p3 : java_lang.String;
                              IN  p4 : ARRAY OF java_lang.Object),NEW,EXTENSIBLE;

PROCEDURE (self:Logger) logrb*(p0 : Level;
                               p1 : java_lang.String;
                               p2 : java_lang.String;
                               p3 : java_lang.String;
                               p4 : java_lang.String;
                               p5 : java_lang.Object),NEW,EXTENSIBLE;

PROCEDURE (self:Logger) logrb*(p0 : Level;
                               p1 : java_lang.String;
                               p2 : java_lang.String;
                               p3 : java_lang.String;
                               p4 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:Logger) logrb*(p0 : Level;
                               p1 : java_lang.String;
                               p2 : java_lang.String;
                               p3 : java_lang.String;
                               p4 : java_lang.String;
                               p5 : java_lang.Throwable),NEW,EXTENSIBLE;

PROCEDURE (self:Logger) logrb*(    p0 : Level;
                                   p1 : java_lang.String;
                                   p2 : java_lang.String;
                                   p3 : java_lang.String;
                                   p4 : java_lang.String;
                               IN  p5 : ARRAY OF java_lang.Object),NEW,EXTENSIBLE;

PROCEDURE (self:Logger) removeHandler*(p0 : Handler),NEW,EXTENSIBLE;

PROCEDURE (self:Logger) setFilter*(p0 : Filter),NEW,EXTENSIBLE;

PROCEDURE (self:Logger) setLevel*(p0 : Level),NEW,EXTENSIBLE;

PROCEDURE (self:Logger) setParent*(p0 : Logger),NEW,EXTENSIBLE;

PROCEDURE (self:Logger) setUseParentHandlers*(p0 : BOOLEAN),NEW,EXTENSIBLE;

PROCEDURE (self:Logger) severe*(p0 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:Logger) throwing*(p0 : java_lang.String;
                                  p1 : java_lang.String;
                                  p2 : java_lang.Throwable),NEW,EXTENSIBLE;

PROCEDURE (self:Logger) warning*(p0 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:LoggingMXBean) getLoggerLevel*(p0 : java_lang.String) : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:LoggingMXBean) getLoggerNames*() : java_util.List,NEW,ABSTRACT;

PROCEDURE (self:LoggingMXBean) getParentLoggerName*(p0 : java_lang.String) : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:LoggingMXBean) setLoggerLevel*(p0 : java_lang.String;
                                               p1 : java_lang.String),NEW,ABSTRACT;

PROCEDURE (self:LogManager) addLogger*(p0 : Logger) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:LogManager) addPropertyChangeListener*(p0 : java_beans.PropertyChangeListener),NEW,EXTENSIBLE;

PROCEDURE (self:LogManager) checkAccess*(),NEW,EXTENSIBLE;

PROCEDURE (self:LogManager) getLogger*(p0 : java_lang.String) : Logger,NEW,EXTENSIBLE;

PROCEDURE (self:LogManager) getLoggerNames*() : java_util.Enumeration,NEW,EXTENSIBLE;

PROCEDURE (self:LogManager) getProperty*(p0 : java_lang.String) : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:LogManager) readConfiguration*(p0 : java_io.InputStream),NEW,EXTENSIBLE;

PROCEDURE (self:LogManager) readConfiguration*(),NEW,EXTENSIBLE;

PROCEDURE (self:LogManager) removePropertyChangeListener*(p0 : java_beans.PropertyChangeListener),NEW,EXTENSIBLE;

PROCEDURE (self:LogManager) reset*(),NEW,EXTENSIBLE;

PROCEDURE (self:LogRecord) getLevel*() : Level,NEW,EXTENSIBLE;

PROCEDURE (self:LogRecord) getLoggerName*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:LogRecord) getMessage*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:LogRecord) getMillis*() : LONGINT,NEW,EXTENSIBLE;

PROCEDURE (self:LogRecord) getParameters*() : POINTER TO ARRAY OF java_lang.Object,NEW,EXTENSIBLE;

PROCEDURE (self:LogRecord) getResourceBundle*() : java_util.ResourceBundle,NEW,EXTENSIBLE;

PROCEDURE (self:LogRecord) getResourceBundleName*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:LogRecord) getSequenceNumber*() : LONGINT,NEW,EXTENSIBLE;

PROCEDURE (self:LogRecord) getSourceClassName*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:LogRecord) getSourceMethodName*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:LogRecord) getThreadID*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:LogRecord) getThrown*() : java_lang.Throwable,NEW,EXTENSIBLE;

PROCEDURE (self:LogRecord) setLevel*(p0 : Level),NEW,EXTENSIBLE;

PROCEDURE (self:LogRecord) setLoggerName*(p0 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:LogRecord) setMessage*(p0 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:LogRecord) setMillis*(p0 : LONGINT),NEW,EXTENSIBLE;

PROCEDURE (self:LogRecord) setParameters*(IN  p0 : ARRAY OF java_lang.Object),NEW,EXTENSIBLE;

PROCEDURE (self:LogRecord) setResourceBundle*(p0 : java_util.ResourceBundle),NEW,EXTENSIBLE;

PROCEDURE (self:LogRecord) setResourceBundleName*(p0 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:LogRecord) setSequenceNumber*(p0 : LONGINT),NEW,EXTENSIBLE;

PROCEDURE (self:LogRecord) setSourceClassName*(p0 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:LogRecord) setSourceMethodName*(p0 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:LogRecord) setThreadID*(p0 : INTEGER),NEW,EXTENSIBLE;

PROCEDURE (self:LogRecord) setThrown*(p0 : java_lang.Throwable),NEW,EXTENSIBLE;

PROCEDURE (self:MemoryHandler) close*(),EXTENSIBLE;

PROCEDURE (self:MemoryHandler) flush*(),EXTENSIBLE;

PROCEDURE (self:MemoryHandler) getPushLevel*() : Level,NEW,EXTENSIBLE;

PROCEDURE (self:MemoryHandler) isLoggable*(p0 : LogRecord) : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:MemoryHandler) publish*(p0 : LogRecord),EXTENSIBLE;

PROCEDURE (self:MemoryHandler) push*(),NEW,EXTENSIBLE;

PROCEDURE (self:MemoryHandler) setPushLevel*(p0 : Level),NEW,EXTENSIBLE;

PROCEDURE (self:SimpleFormatter) format*(p0 : LogRecord) : java_lang.String,EXTENSIBLE;

PROCEDURE (self:SocketHandler) close*(),EXTENSIBLE;

PROCEDURE (self:SocketHandler) publish*(p0 : LogRecord),EXTENSIBLE;

PROCEDURE (self:StreamHandler) close*(),EXTENSIBLE;

PROCEDURE (self:StreamHandler) flush*(),EXTENSIBLE;

PROCEDURE (self:StreamHandler) isLoggable*(p0 : LogRecord) : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:StreamHandler) publish*(p0 : LogRecord),EXTENSIBLE;

PROCEDURE (self:StreamHandler) setEncoding*(p0 : java_lang.String),EXTENSIBLE;

PROCEDURE (self:StreamHandler) setOutputStream!(p0 : java_io.OutputStream),NEW,EXTENSIBLE;

PROCEDURE (self:XMLFormatter) format*(p0 : LogRecord) : java_lang.String,EXTENSIBLE;

PROCEDURE (self:XMLFormatter) getHead*(p0 : Handler) : java_lang.String,EXTENSIBLE;

PROCEDURE (self:XMLFormatter) getTail*(p0 : Handler) : java_lang.String,EXTENSIBLE;

END java_util_logging.