FOREIGN MODULE java_util_prefs;

IMPORT
    java_security := "java.security",
    java_lang := "java.lang",
    sun_nio_ch := "sun.nio.ch",
    sun_misc := "sun.misc",
    java_util := "java.util",
    java_io := "java.io",
    java_util_logging := "java.util.logging",
    org_xml_sax := "org.xml.sax",
    org_w3c_dom := "org.w3c.dom";

TYPE

  AbstractPreferences* = POINTER TO ABSTRACT RECORD (Preferences)    (* Typebound Procedures *)
                           newNode! : BOOLEAN;
                           lock!    : java_lang.Object;
                         STATIC
                           PROCEDURE Init!(p0 : AbstractPreferences;
                                           p1 : java_lang.String) : AbstractPreferences,CONSTRUCTOR;
                         END;

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

  InvalidPreferencesFormatException* = POINTER TO EXTENSIBLE RECORD (java_lang.Exception)
                                       STATIC
                                         PROCEDURE Init*(p0 : java_lang.String;
                                                         p1 : java_lang.Throwable) : InvalidPreferencesFormatException,CONSTRUCTOR;
                                         PROCEDURE Init*(p0 : java_lang.String) : InvalidPreferencesFormatException,CONSTRUCTOR;
                                         PROCEDURE Init*(p0 : java_lang.Throwable) : InvalidPreferencesFormatException,CONSTRUCTOR;
                                       END;

  NodeChangeEvent* = POINTER TO EXTENSIBLE RECORD (java_util.EventObject)    (* Typebound Procedures *)
                     STATIC
                       PROCEDURE Init*(p0 : Preferences;
                                       p1 : Preferences) : NodeChangeEvent,CONSTRUCTOR;
                     END;

  NodeChangeListener* = POINTER TO INTERFACE RECORD (java_lang.Object + java_util.EventListener)    (* Typebound Procedures *)
                        END;

  PreferenceChangeEvent* = POINTER TO EXTENSIBLE RECORD (java_util.EventObject)    (* Typebound Procedures *)
                           STATIC
                             PROCEDURE Init*(p0 : Preferences;
                                             p1 : java_lang.String;
                                             p2 : java_lang.String) : PreferenceChangeEvent,CONSTRUCTOR;
                           END;

  PreferenceChangeListener* = POINTER TO INTERFACE RECORD (java_lang.Object + java_util.EventListener)    (* Typebound Procedures *)
                              END;

  Preferences* = POINTER TO ABSTRACT RECORD (java_lang.Object)    (* Typebound Procedures *)
                 STATIC
                   MAX_KEY_LENGTH*       = 80;
                   MAX_NAME_LENGTH*      = 80;
                   MAX_VALUE_LENGTH*     = 8192;
                   PROCEDURE importPreferences*(p0 : java_io.InputStream);
                   PROCEDURE Init!() : Preferences,CONSTRUCTOR;
                   PROCEDURE systemNodeForPackage*(p0 : java_lang.Class) : Preferences;
                   PROCEDURE systemRoot*() : Preferences;
                   PROCEDURE userNodeForPackage*(p0 : java_lang.Class) : Preferences;
                   PROCEDURE userRoot*() : Preferences;
                 END;

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




PROCEDURE (self:AbstractPreferences) absolutePath*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) addNodeChangeListener*(p0 : NodeChangeListener),EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) addPreferenceChangeListener*(p0 : PreferenceChangeListener),EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) cachedChildren!() : POINTER TO ARRAY OF AbstractPreferences,NEW;

PROCEDURE (self:AbstractPreferences) childrenNames*() : POINTER TO ARRAY OF java_lang.String,EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) childrenNamesSpi!() : POINTER TO ARRAY OF java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:AbstractPreferences) childSpi!(p0 : java_lang.String) : AbstractPreferences,NEW,ABSTRACT;

PROCEDURE (self:AbstractPreferences) clear*(),EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) exportNode*(p0 : java_io.OutputStream),EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) exportSubtree*(p0 : java_io.OutputStream),EXTENSIBLE;

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

PROCEDURE (self:AbstractPreferences) flushSpi!(),NEW,ABSTRACT;

PROCEDURE (self:AbstractPreferences) get*(p0 : java_lang.String;
                                          p1 : java_lang.String) : java_lang.String,EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) getBoolean*(p0 : java_lang.String;
                                                 p1 : BOOLEAN) : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) getByteArray*(    p0 : java_lang.String;
                                                   IN  p1 : ARRAY OF BYTE) : POINTER TO ARRAY OF BYTE,EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) getChild!(p0 : java_lang.String) : AbstractPreferences,NEW,EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) getDouble*(p0 : java_lang.String;
                                                p1 : REAL) : REAL,EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) getFloat*(p0 : java_lang.String;
                                               p1 : SHORTREAL) : SHORTREAL,EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) getInt*(p0 : java_lang.String;
                                             p1 : INTEGER) : INTEGER,EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) getLong*(p0 : java_lang.String;
                                              p1 : LONGINT) : LONGINT,EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) getSpi!(p0 : java_lang.String) : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:AbstractPreferences) isRemoved!() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) isUserNode*() : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) keys*() : POINTER TO ARRAY OF java_lang.String,EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) keysSpi!() : POINTER TO ARRAY OF java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:AbstractPreferences) name*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) node*(p0 : java_lang.String) : Preferences,EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) nodeExists*(p0 : java_lang.String) : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) parent*() : Preferences,EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) put*(p0 : java_lang.String;
                                          p1 : java_lang.String),EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) putBoolean*(p0 : java_lang.String;
                                                 p1 : BOOLEAN),EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) putByteArray*(    p0 : java_lang.String;
                                                   IN  p1 : ARRAY OF BYTE),EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) putDouble*(p0 : java_lang.String;
                                                p1 : REAL),EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) putFloat*(p0 : java_lang.String;
                                               p1 : SHORTREAL),EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) putInt*(p0 : java_lang.String;
                                             p1 : INTEGER),EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) putLong*(p0 : java_lang.String;
                                              p1 : LONGINT),EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) putSpi!(p0 : java_lang.String;
                                             p1 : java_lang.String),NEW,ABSTRACT;

PROCEDURE (self:AbstractPreferences) remove*(p0 : java_lang.String),EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) removeNode*(),EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) removeNodeChangeListener*(p0 : NodeChangeListener),EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) removeNodeSpi!(),NEW,ABSTRACT;

PROCEDURE (self:AbstractPreferences) removePreferenceChangeListener*(p0 : PreferenceChangeListener),EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) removeSpi!(p0 : java_lang.String),NEW,ABSTRACT;

PROCEDURE (self:AbstractPreferences) sync*(),EXTENSIBLE;

PROCEDURE (self:AbstractPreferences) syncSpi!(),NEW,ABSTRACT;

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

PROCEDURE (self:NodeChangeEvent) getChild*() : Preferences,NEW,EXTENSIBLE;

PROCEDURE (self:NodeChangeEvent) getParent*() : Preferences,NEW,EXTENSIBLE;

PROCEDURE (self:NodeChangeListener) childAdded*(p0 : NodeChangeEvent),NEW,ABSTRACT;

PROCEDURE (self:NodeChangeListener) childRemoved*(p0 : NodeChangeEvent),NEW,ABSTRACT;

PROCEDURE (self:PreferenceChangeEvent) getKey*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:PreferenceChangeEvent) getNewValue*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:PreferenceChangeEvent) getNode*() : Preferences,NEW,EXTENSIBLE;

PROCEDURE (self:PreferenceChangeListener) preferenceChange*(p0 : PreferenceChangeEvent),NEW,ABSTRACT;

PROCEDURE (self:Preferences) absolutePath*() : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:Preferences) addNodeChangeListener*(p0 : NodeChangeListener),NEW,ABSTRACT;

PROCEDURE (self:Preferences) addPreferenceChangeListener*(p0 : PreferenceChangeListener),NEW,ABSTRACT;

PROCEDURE (self:Preferences) childrenNames*() : POINTER TO ARRAY OF java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:Preferences) clear*(),NEW,ABSTRACT;

PROCEDURE (self:Preferences) exportNode*(p0 : java_io.OutputStream),NEW,ABSTRACT;

PROCEDURE (self:Preferences) exportSubtree*(p0 : java_io.OutputStream),NEW,ABSTRACT;

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

PROCEDURE (self:Preferences) get*(p0 : java_lang.String;
                                  p1 : java_lang.String) : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:Preferences) getBoolean*(p0 : java_lang.String;
                                         p1 : BOOLEAN) : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:Preferences) getByteArray*(    p0 : java_lang.String;
                                           IN  p1 : ARRAY OF BYTE) : POINTER TO ARRAY OF BYTE,NEW,ABSTRACT;

PROCEDURE (self:Preferences) getDouble*(p0 : java_lang.String;
                                        p1 : REAL) : REAL,NEW,ABSTRACT;

PROCEDURE (self:Preferences) getFloat*(p0 : java_lang.String;
                                       p1 : SHORTREAL) : SHORTREAL,NEW,ABSTRACT;

PROCEDURE (self:Preferences) getInt*(p0 : java_lang.String;
                                     p1 : INTEGER) : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:Preferences) getLong*(p0 : java_lang.String;
                                      p1 : LONGINT) : LONGINT,NEW,ABSTRACT;

PROCEDURE (self:Preferences) isUserNode*() : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:Preferences) keys*() : POINTER TO ARRAY OF java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:Preferences) name*() : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:Preferences) node*(p0 : java_lang.String) : Preferences,NEW,ABSTRACT;

PROCEDURE (self:Preferences) nodeExists*(p0 : java_lang.String) : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:Preferences) parent*() : Preferences,NEW,ABSTRACT;

PROCEDURE (self:Preferences) put*(p0 : java_lang.String;
                                  p1 : java_lang.String),NEW,ABSTRACT;

PROCEDURE (self:Preferences) putBoolean*(p0 : java_lang.String;
                                         p1 : BOOLEAN),NEW,ABSTRACT;

PROCEDURE (self:Preferences) putByteArray*(    p0 : java_lang.String;
                                           IN  p1 : ARRAY OF BYTE),NEW,ABSTRACT;

PROCEDURE (self:Preferences) putDouble*(p0 : java_lang.String;
                                        p1 : REAL),NEW,ABSTRACT;

PROCEDURE (self:Preferences) putFloat*(p0 : java_lang.String;
                                       p1 : SHORTREAL),NEW,ABSTRACT;

PROCEDURE (self:Preferences) putInt*(p0 : java_lang.String;
                                     p1 : INTEGER),NEW,ABSTRACT;

PROCEDURE (self:Preferences) putLong*(p0 : java_lang.String;
                                      p1 : LONGINT),NEW,ABSTRACT;

PROCEDURE (self:Preferences) remove*(p0 : java_lang.String),NEW,ABSTRACT;

PROCEDURE (self:Preferences) removeNode*(),NEW,ABSTRACT;

PROCEDURE (self:Preferences) removeNodeChangeListener*(p0 : NodeChangeListener),NEW,ABSTRACT;

PROCEDURE (self:Preferences) removePreferenceChangeListener*(p0 : PreferenceChangeListener),NEW,ABSTRACT;

PROCEDURE (self:Preferences) sync*(),NEW,ABSTRACT;

PROCEDURE (self:Preferences) toString*() : java_lang.String,ABSTRACT;

PROCEDURE (self:PreferencesFactory) systemRoot*() : Preferences,NEW,ABSTRACT;

PROCEDURE (self:PreferencesFactory) userRoot*() : Preferences,NEW,ABSTRACT;

END java_util_prefs.