FOREIGN MODULE java_util_spi;

IMPORT
    java_lang := "java.lang",
    java_util := "java.util";

TYPE

  CurrencyNameProvider* = POINTER TO ABSTRACT RECORD (LocaleServiceProvider)    (* Typebound Procedures *)
                          STATIC
                            PROCEDURE Init!() : CurrencyNameProvider,CONSTRUCTOR;
                          END;

  LocaleNameProvider* = POINTER TO ABSTRACT RECORD (LocaleServiceProvider)    (* Typebound Procedures *)
                        STATIC
                          PROCEDURE Init!() : LocaleNameProvider,CONSTRUCTOR;
                        END;

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

  TimeZoneNameProvider* = POINTER TO ABSTRACT RECORD (LocaleServiceProvider)    (* Typebound Procedures *)
                          STATIC
                            PROCEDURE Init!() : TimeZoneNameProvider,CONSTRUCTOR;
                          END;




PROCEDURE (self:CurrencyNameProvider) getSymbol*(p0 : java_lang.String;
                                                 p1 : java_util.Locale) : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:LocaleNameProvider) getDisplayCountry*(p0 : java_lang.String;
                                                       p1 : java_util.Locale) : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:LocaleNameProvider) getDisplayLanguage*(p0 : java_lang.String;
                                                        p1 : java_util.Locale) : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:LocaleNameProvider) getDisplayVariant*(p0 : java_lang.String;
                                                       p1 : java_util.Locale) : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:LocaleServiceProvider) getAvailableLocales*() : POINTER TO ARRAY OF java_util.Locale,NEW,ABSTRACT;

PROCEDURE (self:TimeZoneNameProvider) getDisplayName*(p0 : java_lang.String;
                                                      p1 : BOOLEAN;
                                                      p2 : INTEGER;
                                                      p3 : java_util.Locale) : java_lang.String,NEW,ABSTRACT;

END java_util_spi.