FOREIGN MODULE java_text_spi;

IMPORT
    java_util := "java.util",
    java_text := "java.text",
    java_util_spi := "java.util.spi",
    java_lang := "java.lang";

TYPE

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

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

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

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

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

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




PROCEDURE (self:BreakIteratorProvider) getCharacterInstance*(p0 : java_util.Locale) : java_text.BreakIterator,NEW,ABSTRACT;

PROCEDURE (self:BreakIteratorProvider) getLineInstance*(p0 : java_util.Locale) : java_text.BreakIterator,NEW,ABSTRACT;

PROCEDURE (self:BreakIteratorProvider) getSentenceInstance*(p0 : java_util.Locale) : java_text.BreakIterator,NEW,ABSTRACT;

PROCEDURE (self:BreakIteratorProvider) getWordInstance*(p0 : java_util.Locale) : java_text.BreakIterator,NEW,ABSTRACT;

PROCEDURE (self:CollatorProvider) getInstance*(p0 : java_util.Locale) : java_text.Collator,NEW,ABSTRACT;

PROCEDURE (self:DateFormatProvider) getDateInstance*(p0 : INTEGER;
                                                     p1 : java_util.Locale) : java_text.DateFormat,NEW,ABSTRACT;

PROCEDURE (self:DateFormatProvider) getDateTimeInstance*(p0 : INTEGER;
                                                         p1 : INTEGER;
                                                         p2 : java_util.Locale) : java_text.DateFormat,NEW,ABSTRACT;

PROCEDURE (self:DateFormatProvider) getTimeInstance*(p0 : INTEGER;
                                                     p1 : java_util.Locale) : java_text.DateFormat,NEW,ABSTRACT;

PROCEDURE (self:DateFormatSymbolsProvider) getInstance*(p0 : java_util.Locale) : java_text.DateFormatSymbols,NEW,ABSTRACT;

PROCEDURE (self:DecimalFormatSymbolsProvider) getInstance*(p0 : java_util.Locale) : java_text.DecimalFormatSymbols,NEW,ABSTRACT;

PROCEDURE (self:NumberFormatProvider) getCurrencyInstance*(p0 : java_util.Locale) : java_text.NumberFormat,NEW,ABSTRACT;

PROCEDURE (self:NumberFormatProvider) getIntegerInstance*(p0 : java_util.Locale) : java_text.NumberFormat,NEW,ABSTRACT;

PROCEDURE (self:NumberFormatProvider) getNumberInstance*(p0 : java_util.Locale) : java_text.NumberFormat,NEW,ABSTRACT;

PROCEDURE (self:NumberFormatProvider) getPercentInstance*(p0 : java_util.Locale) : java_text.NumberFormat,NEW,ABSTRACT;

END java_text_spi.