FOREIGN MODULE java_util_regex;

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

TYPE

  Matcher* = POINTER TO RECORD (java_lang.Object + MatchResult)    (* Typebound Procedures *)
             STATIC
               PROCEDURE quoteReplacement*(p0 : java_lang.String) : java_lang.String;
             END;

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

  Pattern* = POINTER TO RECORD (java_lang.Object + java_io.Serializable)    (* Typebound Procedures *)
             STATIC
               CANON_EQ*         = 128;
               CASE_INSENSITIVE* = 2;
               COMMENTS*         = 4;
               DOTALL*           = 32;
               LITERAL*          = 16;
               MULTILINE*        = 8;
               UNICODE_CASE*     = 64;
               UNIX_LINES*       = 1;
               PROCEDURE compile*(p0 : java_lang.String;
                                  p1 : INTEGER) : Pattern;
               PROCEDURE compile*(p0 : java_lang.String) : Pattern;
               PROCEDURE matches*(p0 : java_lang.String;
                                  p1 : java_lang.CharSequence) : BOOLEAN;
               PROCEDURE quote*(p0 : java_lang.String) : java_lang.String;
             END;

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




PROCEDURE (self:Matcher) appendReplacement*(p0 : java_lang.StringBuffer;
                                            p1 : java_lang.String) : Matcher,NEW,EXTENSIBLE;

PROCEDURE (self:Matcher) appendTail*(p0 : java_lang.StringBuffer) : java_lang.StringBuffer,NEW,EXTENSIBLE;

PROCEDURE (self:Matcher) end*(p0 : INTEGER) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Matcher) end*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Matcher) find*(p0 : INTEGER) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Matcher) find*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Matcher) group*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:Matcher) group*(p0 : INTEGER) : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:Matcher) groupCount*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Matcher) hasAnchoringBounds*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Matcher) hasTransparentBounds*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Matcher) hitEnd*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Matcher) lookingAt*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Matcher) matches*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Matcher) pattern*() : Pattern,NEW,EXTENSIBLE;

PROCEDURE (self:Matcher) region*(p0 : INTEGER;
                                 p1 : INTEGER) : Matcher,NEW,EXTENSIBLE;

PROCEDURE (self:Matcher) regionEnd*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Matcher) regionStart*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Matcher) replaceAll*(p0 : java_lang.String) : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:Matcher) replaceFirst*(p0 : java_lang.String) : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:Matcher) requireEnd*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Matcher) reset*(p0 : java_lang.CharSequence) : Matcher,NEW,EXTENSIBLE;

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

PROCEDURE (self:Matcher) start*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Matcher) start*(p0 : INTEGER) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Matcher) toMatchResult*() : MatchResult,NEW,EXTENSIBLE;

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

PROCEDURE (self:Matcher) useAnchoringBounds*(p0 : BOOLEAN) : Matcher,NEW,EXTENSIBLE;

PROCEDURE (self:Matcher) usePattern*(p0 : Pattern) : Matcher,NEW,EXTENSIBLE;

PROCEDURE (self:Matcher) useTransparentBounds*(p0 : BOOLEAN) : Matcher,NEW,EXTENSIBLE;

PROCEDURE (self:MatchResult) end*() : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:MatchResult) end*(p0 : INTEGER) : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:MatchResult) group*() : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:MatchResult) group*(p0 : INTEGER) : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:MatchResult) groupCount*() : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:MatchResult) start*(p0 : INTEGER) : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:MatchResult) start*() : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:Pattern) flags*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Pattern) matcher*(p0 : java_lang.CharSequence) : Matcher,NEW,EXTENSIBLE;

PROCEDURE (self:Pattern) pattern*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:Pattern) split*(p0 : java_lang.CharSequence) : POINTER TO ARRAY OF java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:Pattern) split*(p0 : java_lang.CharSequence;
                                p1 : INTEGER) : POINTER TO ARRAY OF java_lang.String,NEW,EXTENSIBLE;

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

PROCEDURE (self:PatternSyntaxException) getDescription*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:PatternSyntaxException) getIndex*() : INTEGER,NEW,EXTENSIBLE;

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

PROCEDURE (self:PatternSyntaxException) getPattern*() : java_lang.String,NEW,EXTENSIBLE;

END java_util_regex.