Package org.jcodings

Class SingleByteEncoding

    • Field Detail

      • LowerCaseTable

        protected final byte[] LowerCaseTable
    • Constructor Detail

      • SingleByteEncoding

        protected SingleByteEncoding​(String name,
                                     short[] CTypeTable,
                                     byte[] LowerCaseTable)
    • Method Detail

      • length

        public int length​(byte c)
        onigenc_single_byte_mbc_enc_len
        Specified by:
        length in class Encoding
        Parameters:
        c - Character head Oniguruma equivalent: mbc_enc_len To be deprecated very soon (use length(byte[]bytes, int p, int end) version)
      • length

        public int length​(byte[] bytes,
                          int p,
                          int end)
        Description copied from class: Encoding
        Returns character length given stream, character position and stream end returns 1 for singlebyte encodings or performs sanity validations for multibyte ones and returns the character length, missing characters in the stream otherwise
        Specified by:
        length in class Encoding
        Returns:
        0 Never > 0 Valid character, length returned -1 Illegal/malformed character < -1 (-1 - n) Number of missing bytes for character in p...end range Oniguruma equivalent: mbc_enc_len modified for 1.9 purposes,
      • strLength

        public final int strLength​(byte[] bytes,
                                   int p,
                                   int end)
        Specified by:
        strLength in class Encoding
      • strCodeAt

        public int strCodeAt​(byte[] bytes,
                             int p,
                             int end,
                             int index)
        Specified by:
        strCodeAt in class Encoding
      • caseMap

        public int caseMap​(IntHolder flagP,
                           byte[] bytes,
                           IntHolder pp,
                           int end,
                           byte[] to,
                           int toP,
                           int toEnd)
        Description copied from class: Encoding
        Oniguruma equivalent: case_map
        Specified by:
        caseMap in class Encoding
      • mbcToCode

        public int mbcToCode​(byte[] bytes,
                             int p,
                             int end)
        onigenc_single_byte_mbc_to_code
        Specified by:
        mbcToCode in class Encoding
      • codeToMbcLength

        public int codeToMbcLength​(int code)
        onigenc_single_byte_code_to_mbclen
        Specified by:
        codeToMbcLength in class Encoding
      • codeToMbc

        public final int codeToMbc​(int code,
                                   byte[] bytes,
                                   int p)
        onigenc_single_byte_code_to_mbc
        Specified by:
        codeToMbc in class Encoding
        Returns:
        character length for the given code point Oniguruma equivalent: code_to_mbc
      • ctypeCodeRange

        public final int[] ctypeCodeRange​(int ctype,
                                          IntHolder sbOut)
        onigenc_not_support_get_ctype_code_range
        Specified by:
        ctypeCodeRange in class Encoding
      • leftAdjustCharHead

        public final int leftAdjustCharHead​(byte[] bytes,
                                            int p,
                                            int s,
                                            int end)
        onigenc_single_byte_left_adjust_char_head
        Specified by:
        leftAdjustCharHead in class Encoding
        Parameters:
        bytes - byte stream
        p - position
        s - stop
        end - end
      • isReverseMatchAllowed

        public final boolean isReverseMatchAllowed​(byte[] bytes,
                                                   int p,
                                                   int end)
        onigenc_always_true_is_allowed_reverse_match
        Specified by:
        isReverseMatchAllowed in class Encoding
      • isCodeCTypeInternal

        protected final boolean isCodeCTypeInternal​(int code,
                                                    int ctype)
        ONIGENC_IS_XXXXXX_CODE_CTYPE
      • isNewLine

        public boolean isNewLine​(byte[] bytes,
                                 int p,
                                 int end)
        onigenc_is_mbc_newline_0x0a / used also by multibyte encodings
        Specified by:
        isNewLine in class Encoding
      • asciiMbcCaseFold

        protected final int asciiMbcCaseFold​(int flag,
                                             byte[] bytes,
                                             IntHolder pp,
                                             int end,
                                             byte[] lower)
      • mbcCaseFold

        public int mbcCaseFold​(int flag,
                               byte[] bytes,
                               IntHolder pp,
                               int end,
                               byte[] lower)
        onigenc_ascii_mbc_case_fold
        Specified by:
        mbcCaseFold in class Encoding
        Parameters:
        flag - case fold flag
        pp - an IntHolder that points at character head
        lower - a buffer where to extract case folded character Oniguruma equivalent: mbc_case_fold
      • applyAllCaseFold

        public void applyAllCaseFold​(int flag,
                                     ApplyAllCaseFoldFunction fun,
                                     Object arg)
        onigenc_ascii_apply_all_case_fold / used also by multibyte encodings
        Specified by:
        applyAllCaseFold in class Encoding
        Parameters:
        flag - case fold flag
        fun - case folding functor (look at: ApplyCaseFold)
        arg - case folding functor argument (look at: ApplyCaseFoldArg) Oniguruma equivalent: apply_all_case_fold
      • asciiCaseFoldCodesByString

        protected final CaseFoldCodeItem[] asciiCaseFoldCodesByString​(int flag,
                                                                      byte[] bytes,
                                                                      int p,
                                                                      int end)
      • caseFoldCodesByString

        public CaseFoldCodeItem[] caseFoldCodesByString​(int flag,
                                                        byte[] bytes,
                                                        int p,
                                                        int end)
        onigenc_ascii_get_case_fold_codes_by_str / used also by multibyte encodings
        Specified by:
        caseFoldCodesByString in class Encoding
      • propertyNameToCType

        public int propertyNameToCType​(byte[] bytes,
                                       int p,
                                       int end)
        onigenc_minimum_property_name_to_ctype notably overridden by unicode encodings
        Specified by:
        propertyNameToCType in class Encoding