FOREIGN MODULE sun_net_idn;

IMPORT
    java_lang := "java.lang",
    sun_text_normalizer := "sun.text.normalizer",
    java_io := "java.io";

TYPE

  Punycode* = POINTER TO RECORD (java_lang.Object)
              STATIC
                PROCEDURE decode*(    p0 : java_lang.StringBuffer;
                                  IN  p1 : ARRAY OF BOOLEAN) : java_lang.StringBuffer;
                PROCEDURE encode*(    p0 : java_lang.StringBuffer;
                                  IN  p1 : ARRAY OF BOOLEAN) : java_lang.StringBuffer;
                PROCEDURE Init*() : Punycode,CONSTRUCTOR;
              END;

  StringPrep* = POINTER TO RECORD (java_lang.Object)    (* Typebound Procedures *)
                STATIC
                  ALLOW_UNASSIGNED* = 1;
                  DEFAULT*          = 0;
                  PROCEDURE Init*(p0 : java_io.InputStream) : StringPrep,CONSTRUCTOR;
                END;

  UCharacterEnums$ECharacterCategory* = POINTER TO INTERFACE RECORD (java_lang.Object)
                                        STATIC
                                          CHAR_CATEGORY_COUNT*       = 30;
                                          COMBINING_SPACING_MARK*    = 8;
                                          CONNECTOR_PUNCTUATION*     = 22;
                                          CONTROL*                   = 15;
                                          CURRENCY_SYMBOL*           = 25;
                                          DASH_PUNCTUATION*          = 19;
                                          DECIMAL_DIGIT_NUMBER*      = 9;
                                          ENCLOSING_MARK*            = 7;
                                          END_PUNCTUATION*           = 21;
                                          FINAL_PUNCTUATION*         = 29;
                                          FINAL_QUOTE_PUNCTUATION*   = 29;
                                          FORMAT*                    = 16;
                                          GENERAL_OTHER_TYPES*       = 0;
                                          INITIAL_PUNCTUATION*       = 28;
                                          INITIAL_QUOTE_PUNCTUATION* = 28;
                                          LETTER_NUMBER*             = 10;
                                          LINE_SEPARATOR*            = 13;
                                          LOWERCASE_LETTER*          = 2;
                                          MATH_SYMBOL*               = 24;
                                          MODIFIER_LETTER*           = 4;
                                          MODIFIER_SYMBOL*           = 26;
                                          NON_SPACING_MARK*          = 6;
                                          OTHER_LETTER*              = 5;
                                          OTHER_NUMBER*              = 11;
                                          OTHER_PUNCTUATION*         = 23;
                                          OTHER_SYMBOL*              = 27;
                                          PARAGRAPH_SEPARATOR*       = 14;
                                          PRIVATE_USE*               = 17;
                                          SPACE_SEPARATOR*           = 12;
                                          START_PUNCTUATION*         = 20;
                                          SURROGATE*                 = 18;
                                          TITLECASE_LETTER*          = 3;
                                          UNASSIGNED*                = 0;
                                          UPPERCASE_LETTER*          = 1;
                                        END;

  UCharacterEnums$ECharacterDirection* = POINTER TO INTERFACE RECORD (java_lang.Object)
                                         STATIC
                                           ARABIC_NUMBER*                             = 5;
                                           BLOCK_SEPARATOR*                           = 7;
                                           BOUNDARY_NEUTRAL*                          = 18;
                                           CHAR_DIRECTION_COUNT*                      = 19;
                                           COMMON_NUMBER_SEPARATOR*                   = 6;
                                           DIRECTIONALITY_ARABIC_NUMBER*              = 5;
                                           DIRECTIONALITY_BOUNDARY_NEUTRAL*           = 18;
                                           DIRECTIONALITY_COMMON_NUMBER_SEPARATOR*    = 6;
                                           DIRECTIONALITY_EUROPEAN_NUMBER*            = 2;
                                           DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR*  = 3;
                                           DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR* = 4;
                                           DIRECTIONALITY_LEFT_TO_RIGHT*              = 0;
                                           DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING*    = 11;
                                           DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE*     = 12;
                                           DIRECTIONALITY_NON_SPACING_MARK*           = 17;
                                           DIRECTIONALITY_OTHER_NEUTRALS*             = 10;
                                           DIRECTIONALITY_PARAGRAPH_SEPARATOR*        = 7;
                                           DIRECTIONALITY_POP_DIRECTIONAL_FORMAT*     = 16;
                                           DIRECTIONALITY_RIGHT_TO_LEFT*              = 1;
                                           DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC*       = 13;
                                           DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING*    = 14;
                                           DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE*     = 15;
                                           DIRECTIONALITY_SEGMENT_SEPARATOR*          = 8;
                                           DIRECTIONALITY_UNDEFINED*                  = -1;
                                           DIRECTIONALITY_WHITESPACE*                 = 9;
                                           DIR_NON_SPACING_MARK*                      = 17;
                                           EUROPEAN_NUMBER*                           = 2;
                                           EUROPEAN_NUMBER_SEPARATOR*                 = 3;
                                           EUROPEAN_NUMBER_TERMINATOR*                = 4;
                                           LEFT_TO_RIGHT*                             = 0;
                                           LEFT_TO_RIGHT_EMBEDDING*                   = 11;
                                           LEFT_TO_RIGHT_OVERRIDE*                    = 12;
                                           OTHER_NEUTRAL*                             = 10;
                                           POP_DIRECTIONAL_FORMAT*                    = 16;
                                           RIGHT_TO_LEFT*                             = 1;
                                           RIGHT_TO_LEFT_ARABIC*                      = 13;
                                           RIGHT_TO_LEFT_EMBEDDING*                   = 14;
                                           RIGHT_TO_LEFT_OVERRIDE*                    = 15;
                                           SEGMENT_SEPARATOR*                         = 8;
                                           WHITE_SPACE_NEUTRAL*                       = 9;
                                         END;




PROCEDURE (self:StringPrep) prepare*(p0 : sun_text_normalizer.UCharacterIterator;
                                     p1 : INTEGER) : java_lang.StringBuffer,NEW,EXTENSIBLE;

END sun_net_idn.