org.jcodings.specific
Class NonStrictUTF8Encoding

java.lang.Object
  extended by org.jcodings.Encoding
      extended by org.jcodings.MultiByteEncoding
          extended by org.jcodings.unicode.UnicodeEncoding
              extended by org.jcodings.specific.NonStrictUTF8Encoding
All Implemented Interfaces:
Cloneable

public final class NonStrictUTF8Encoding
extends UnicodeEncoding


Field Summary
protected static CaseFoldCodeItem[] EMPTY_FOLD_CODES
           
static NonStrictUTF8Encoding INSTANCE
           
 
Fields inherited from class org.jcodings.MultiByteEncoding
A, EncLen, F, Trans, TransZero
 
Fields inherited from class org.jcodings.Encoding
CHAR_INVALID, hashCode, isAsciiCompatible, isDummy, isFixedWidth, isSingleByte, maxLength, minLength, name, NEW_LINE
 
Constructor Summary
protected NonStrictUTF8Encoding()
           
 
Method Summary
protected  void asciiApplyAllCaseFold(int flag, ApplyAllCaseFoldFunction fun, Object arg)
           
protected  CaseFoldCodeItem[] asciiCaseFoldCodesByString(int flag, byte[] bytes, int p, int end)
           
protected  int asciiMbcCaseFold(int flag, byte[] bytes, IntHolder pp, int end, byte[] lower)
           
 int codeToMbc(int code, byte[] bytes, int p)
          Extracts code point into it's multibyte representation
 int codeToMbcLength(int code)
          Returns character length given a code point Oniguruma equivalent: code_to_mbclen
 int[] ctypeCodeRange(int ctype, IntHolder sbOut)
          utf8_get_ctype_code_range
protected  boolean isCodeCTypeInternal(int code, int ctype)
          ONIGENC_IS_XXXXXX_CODE_CTYPE
 boolean isNewLine(byte[] bytes, int p, int end)
          onigenc_is_mbc_newline_0x0a / used also by multibyte encodings
 boolean isReverseMatchAllowed(byte[] bytes, int p, int end)
          onigenc_always_true_is_allowed_reverse_match
 int leftAdjustCharHead(byte[] bytes, int p, int s, int end)
          utf8_left_adjust_char_head
 int length(byte[] bytes, int p, int end)
          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
 int mbcCaseFold(int flag, byte[] bytes, IntHolder pp, int end, byte[] fold)
          onigenc_ascii_mbc_case_fold
 int mbcToCode(byte[] bytes, int p, int end)
          Returns code point for a character Oniguruma equivalent: mbc_to_code
 
Methods inherited from class org.jcodings.unicode.UnicodeEncoding
applyAllCaseFold, caseFoldCodesByString, ctypeCodeRange, isCodeCType, propertyNameToCType
 
Methods inherited from class org.jcodings.MultiByteEncoding
length, mb2CodeToMbc, mb2CodeToMbcLength, mb2IsCodeCType, mb4CodeToMbc, mb4CodeToMbcLength, mb4IsCodeCType, mbnMbcCaseFold, mbnMbcToCode, missing, missing, safeLengthForUptoFour, safeLengthForUptoThree, safeLengthForUptoTwo, strCodeAt, strLength
 
Methods inherited from class org.jcodings.Encoding
asciiToLower, asciiToUpper, digitVal, equals, getIndex, getName, hashCode, isAlnum, isAlpha, isAscii, isAscii, isAsciiCompatible, isBlank, isCntrl, isDigit, isDummy, isFixedWidth, isGraph, isLower, isMbcAscii, isMbcCrnl, isMbcHead, isMbcWord, isNewLine, isPrint, isPunct, isSbWord, isSingleByte, isSpace, isUpper, isWord, isWordGraphPrint, isXDigit, load, maxLength, maxLengthDistance, mbcodeStartPosition, minLength, odigitVal, prevCharHead, replicate, rightAdjustCharHead, rightAdjustCharHeadWithPrev, setName, setName, step, stepBack, strByteLengthNull, strLengthNull, strNCmp, toLowerCaseTable, toString, xdigitVal
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

INSTANCE

public static final NonStrictUTF8Encoding INSTANCE

EMPTY_FOLD_CODES

protected static final CaseFoldCodeItem[] EMPTY_FOLD_CODES
Constructor Detail

NonStrictUTF8Encoding

protected NonStrictUTF8Encoding()
Method Detail

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,

isNewLine

public boolean isNewLine(byte[] bytes,
                         int p,
                         int end)
onigenc_is_mbc_newline_0x0a / used also by multibyte encodings


codeToMbcLength

public int codeToMbcLength(int code)
Description copied from class: Encoding
Returns character length given a code point Oniguruma equivalent: code_to_mbclen

Specified by:
codeToMbcLength in class Encoding

mbcToCode

public int mbcToCode(byte[] bytes,
                     int p,
                     int end)
Description copied from class: Encoding
Returns code point for a character Oniguruma equivalent: mbc_to_code

Specified by:
mbcToCode in class Encoding

codeToMbc

public int codeToMbc(int code,
                     byte[] bytes,
                     int p)
Description copied from class: Encoding
Extracts code point into it's multibyte representation

Specified by:
codeToMbc in class Encoding
Returns:
character length for the given code point Oniguruma equivalent: code_to_mbc

mbcCaseFold

public int mbcCaseFold(int flag,
                       byte[] bytes,
                       IntHolder pp,
                       int end,
                       byte[] fold)
onigenc_ascii_mbc_case_fold

Overrides:
mbcCaseFold in class UnicodeEncoding
Parameters:
flag - case fold flag
pp - an IntHolder that points at character head
fold - a buffer where to extract case folded character Oniguruma equivalent: mbc_case_fold

ctypeCodeRange

public int[] ctypeCodeRange(int ctype,
                            IntHolder sbOut)
utf8_get_ctype_code_range

Specified by:
ctypeCodeRange in class Encoding

leftAdjustCharHead

public int leftAdjustCharHead(byte[] bytes,
                              int p,
                              int s,
                              int end)
utf8_left_adjust_char_head

Specified by:
leftAdjustCharHead in class Encoding
Parameters:
bytes - byte stream
p - position
s - stop
end - end

isReverseMatchAllowed

public 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


asciiMbcCaseFold

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

asciiApplyAllCaseFold

protected final void asciiApplyAllCaseFold(int flag,
                                           ApplyAllCaseFoldFunction fun,
                                           Object arg)

asciiCaseFoldCodesByString

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


Copyright © 2011. All Rights Reserved.