FOREIGN MODULE java_nio_charset;

IMPORT
    java_io := "java.io",
    java_lang := "java.lang",
    java_util := "java.util",
    java_security := "java.security",
    java_nio_charset_spi := "java.nio.charset.spi",
    java_nio := "java.nio",
    java_lang_ref := "java.lang.ref";

TYPE

  CharacterCodingException* = POINTER TO EXTENSIBLE RECORD (java_io.IOException)
                              STATIC
                                PROCEDURE Init*() : CharacterCodingException,CONSTRUCTOR;
                              END;

  Charset* = POINTER TO ABSTRACT RECORD (java_lang.Object + java_lang.Comparable)    (* Typebound Procedures *)
             STATIC
               PROCEDURE availableCharsets*() : java_util.SortedMap;
               PROCEDURE defaultCharset*() : Charset;
               PROCEDURE forName*(p0 : java_lang.String) : Charset;
               PROCEDURE Init!(    p0 : java_lang.String;
                               IN  p1 : ARRAY OF java_lang.String) : Charset,CONSTRUCTOR;
               PROCEDURE isSupported*(p0 : java_lang.String) : BOOLEAN;
             END;

  CharsetDecoder* = POINTER TO ABSTRACT RECORD (java_lang.Object)    (* Typebound Procedures *)
                    STATIC
                      PROCEDURE Init!(p0 : Charset;
                                      p1 : SHORTREAL;
                                      p2 : SHORTREAL) : CharsetDecoder,CONSTRUCTOR;
                    END;

  CharsetEncoder* = POINTER TO ABSTRACT RECORD (java_lang.Object)    (* Typebound Procedures *)
                    STATIC
                      PROCEDURE Init!(p0 : Charset;
                                      p1 : SHORTREAL;
                                      p2 : SHORTREAL) : CharsetEncoder,CONSTRUCTOR;
                      PROCEDURE Init!(    p0 : Charset;
                                          p1 : SHORTREAL;
                                          p2 : SHORTREAL;
                                      IN  p3 : ARRAY OF BYTE) : CharsetEncoder,CONSTRUCTOR;
                    END;

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

  CoderResult* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                 STATIC
                   OVERFLOW*            : CoderResult;
                   UNDERFLOW*           : CoderResult;
                   PROCEDURE malformedForLength*(p0 : INTEGER) : CoderResult;
                   PROCEDURE unmappableForLength*(p0 : INTEGER) : CoderResult;
                 END;

  CodingErrorAction* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)    (* Typebound Procedures *)
                       STATIC
                         IGNORE*  : CodingErrorAction;
                         REPLACE* : CodingErrorAction;
                         REPORT*  : CodingErrorAction;
                       END;

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

  MalformedInputException* = POINTER TO EXTENSIBLE RECORD (CharacterCodingException)    (* Typebound Procedures *)
                             STATIC
                               PROCEDURE Init*(p0 : INTEGER) : MalformedInputException,CONSTRUCTOR;
                             END;

  UnmappableCharacterException* = POINTER TO EXTENSIBLE RECORD (CharacterCodingException)    (* Typebound Procedures *)
                                  STATIC
                                    PROCEDURE Init*(p0 : INTEGER) : UnmappableCharacterException,CONSTRUCTOR;
                                  END;

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




PROCEDURE (self:Charset) aliases*() : java_util.Set,NEW;

PROCEDURE (self:Charset) canEncode*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:Charset) compareTo*(p0 : Charset) : INTEGER,NEW;

PROCEDURE (self:Charset) compareTo*(p0 : java_lang.Object) : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:Charset) contains*(p0 : Charset) : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:Charset) decode*(p0 : java_nio.ByteBuffer) : java_nio.CharBuffer,NEW;

PROCEDURE (self:Charset) displayName*(p0 : java_util.Locale) : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:Charset) displayName*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:Charset) encode*(p0 : java_nio.CharBuffer) : java_nio.ByteBuffer,NEW;

PROCEDURE (self:Charset) encode*(p0 : java_lang.String) : java_nio.ByteBuffer,NEW;

PROCEDURE (self:Charset) equals*(p0 : java_lang.Object) : BOOLEAN;

PROCEDURE (self:Charset) hashCode*() : INTEGER;

PROCEDURE (self:Charset) isRegistered*() : BOOLEAN,NEW;

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

PROCEDURE (self:Charset) newDecoder*() : CharsetDecoder,NEW,ABSTRACT;

PROCEDURE (self:Charset) newEncoder*() : CharsetEncoder,NEW,ABSTRACT;

PROCEDURE (self:Charset) toString*() : java_lang.String;

PROCEDURE (self:CharsetDecoder) averageCharsPerByte*() : SHORTREAL,NEW;

PROCEDURE (self:CharsetDecoder) charset*() : Charset,NEW;

PROCEDURE (self:CharsetDecoder) decode*(p0 : java_nio.ByteBuffer) : java_nio.CharBuffer,NEW;

PROCEDURE (self:CharsetDecoder) decode*(p0 : java_nio.ByteBuffer;
                                        p1 : java_nio.CharBuffer;
                                        p2 : BOOLEAN) : CoderResult,NEW;

PROCEDURE (self:CharsetDecoder) decodeLoop!(p0 : java_nio.ByteBuffer;
                                            p1 : java_nio.CharBuffer) : CoderResult,NEW,ABSTRACT;

PROCEDURE (self:CharsetDecoder) detectedCharset*() : Charset,NEW,EXTENSIBLE;

PROCEDURE (self:CharsetDecoder) flush*(p0 : java_nio.CharBuffer) : CoderResult,NEW;

PROCEDURE (self:CharsetDecoder) implFlush!(p0 : java_nio.CharBuffer) : CoderResult,NEW,EXTENSIBLE;

PROCEDURE (self:CharsetDecoder) implOnMalformedInput!(p0 : CodingErrorAction),NEW,EXTENSIBLE;

PROCEDURE (self:CharsetDecoder) implOnUnmappableCharacter!(p0 : CodingErrorAction),NEW,EXTENSIBLE;

PROCEDURE (self:CharsetDecoder) implReplaceWith!(p0 : java_lang.String),NEW,EXTENSIBLE;

PROCEDURE (self:CharsetDecoder) implReset!(),NEW,EXTENSIBLE;

PROCEDURE (self:CharsetDecoder) isAutoDetecting*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:CharsetDecoder) isCharsetDetected*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:CharsetDecoder) malformedInputAction*() : CodingErrorAction,NEW,EXTENSIBLE;

PROCEDURE (self:CharsetDecoder) maxCharsPerByte*() : SHORTREAL,NEW;

PROCEDURE (self:CharsetDecoder) onMalformedInput*(p0 : CodingErrorAction) : CharsetDecoder,NEW;

PROCEDURE (self:CharsetDecoder) onUnmappableCharacter*(p0 : CodingErrorAction) : CharsetDecoder,NEW;

PROCEDURE (self:CharsetDecoder) replacement*() : java_lang.String,NEW;

PROCEDURE (self:CharsetDecoder) replaceWith*(p0 : java_lang.String) : CharsetDecoder,NEW;

PROCEDURE (self:CharsetDecoder) reset*() : CharsetDecoder,NEW;

PROCEDURE (self:CharsetDecoder) unmappableCharacterAction*() : CodingErrorAction,NEW,EXTENSIBLE;

PROCEDURE (self:CharsetEncoder) averageBytesPerChar*() : SHORTREAL,NEW;

PROCEDURE (self:CharsetEncoder) canEncode*(p0 : CHAR) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:CharsetEncoder) canEncode*(p0 : java_lang.CharSequence) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:CharsetEncoder) charset*() : Charset,NEW;

PROCEDURE (self:CharsetEncoder) encode*(p0 : java_nio.CharBuffer;
                                        p1 : java_nio.ByteBuffer;
                                        p2 : BOOLEAN) : CoderResult,NEW;

PROCEDURE (self:CharsetEncoder) encode*(p0 : java_nio.CharBuffer) : java_nio.ByteBuffer,NEW;

PROCEDURE (self:CharsetEncoder) encodeLoop!(p0 : java_nio.CharBuffer;
                                            p1 : java_nio.ByteBuffer) : CoderResult,NEW,ABSTRACT;

PROCEDURE (self:CharsetEncoder) flush*(p0 : java_nio.ByteBuffer) : CoderResult,NEW;

PROCEDURE (self:CharsetEncoder) implFlush!(p0 : java_nio.ByteBuffer) : CoderResult,NEW,EXTENSIBLE;

PROCEDURE (self:CharsetEncoder) implOnMalformedInput!(p0 : CodingErrorAction),NEW,EXTENSIBLE;

PROCEDURE (self:CharsetEncoder) implOnUnmappableCharacter!(p0 : CodingErrorAction),NEW,EXTENSIBLE;

PROCEDURE (self:CharsetEncoder) implReplaceWith!(IN  p0 : ARRAY OF BYTE),NEW,EXTENSIBLE;

PROCEDURE (self:CharsetEncoder) implReset!(),NEW,EXTENSIBLE;

PROCEDURE (self:CharsetEncoder) isLegalReplacement*(IN  p0 : ARRAY OF BYTE) : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:CharsetEncoder) malformedInputAction*() : CodingErrorAction,NEW,EXTENSIBLE;

PROCEDURE (self:CharsetEncoder) maxBytesPerChar*() : SHORTREAL,NEW;

PROCEDURE (self:CharsetEncoder) onMalformedInput*(p0 : CodingErrorAction) : CharsetEncoder,NEW;

PROCEDURE (self:CharsetEncoder) onUnmappableCharacter*(p0 : CodingErrorAction) : CharsetEncoder,NEW;

PROCEDURE (self:CharsetEncoder) replacement*() : POINTER TO ARRAY OF BYTE,NEW;

PROCEDURE (self:CharsetEncoder) replaceWith*(IN  p0 : ARRAY OF BYTE) : CharsetEncoder,NEW;

PROCEDURE (self:CharsetEncoder) reset*() : CharsetEncoder,NEW;

PROCEDURE (self:CharsetEncoder) unmappableCharacterAction*() : CodingErrorAction,NEW,EXTENSIBLE;

PROCEDURE (self:CoderResult) isError*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:CoderResult) isMalformed*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:CoderResult) isOverflow*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:CoderResult) isUnderflow*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:CoderResult) isUnmappable*() : BOOLEAN,NEW,EXTENSIBLE;

PROCEDURE (self:CoderResult) length*() : INTEGER,NEW,EXTENSIBLE;

PROCEDURE (self:CoderResult) throwException*(),NEW,EXTENSIBLE;

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

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

PROCEDURE (self:IllegalCharsetNameException) getCharsetName*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:MalformedInputException) getInputLength*() : INTEGER,NEW,EXTENSIBLE;

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

PROCEDURE (self:UnmappableCharacterException) getInputLength*() : INTEGER,NEW,EXTENSIBLE;

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

PROCEDURE (self:UnsupportedCharsetException) getCharsetName*() : java_lang.String,NEW,EXTENSIBLE;

END java_nio_charset.