org.jcodings
Class MultiByteEncoding

java.lang.Object
  extended by org.jcodings.Encoding
      extended by org.jcodings.MultiByteEncoding
All Implemented Interfaces:
Cloneable
Direct Known Subclasses:
CanBeTrailTableEncoding, EmacsMuleEncoding, EucEncoding, GB18030Encoding, UnicodeEncoding

public abstract class MultiByteEncoding
extends Encoding


Field Summary
protected static int A
           
protected static CaseFoldCodeItem[] EMPTY_FOLD_CODES
           
protected  int[] EncLen
           
protected static int F
           
protected  int[][] Trans
           
protected  int[] TransZero
           
 
Fields inherited from class org.jcodings.Encoding
CHAR_INVALID, hashCode, isAsciiCompatible, isDummy, isFixedWidth, isSingleByte, maxLength, minLength, name, NEW_LINE
 
Constructor Summary
protected MultiByteEncoding(String name, int minLength, int maxLength, int[] EncLen, int[][] Trans, short[] CTypeTable)
           
 
Method Summary
 void applyAllCaseFold(int flag, ApplyAllCaseFoldFunction fun, Object arg)
          onigenc_ascii_apply_all_case_fold / used also by multibyte encodings
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)
           
 CaseFoldCodeItem[] caseFoldCodesByString(int flag, byte[] bytes, int p, int end)
          onigenc_ascii_get_case_fold_codes_by_str / used also by multibyte encodings
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
 int length(byte c)
          Returns character length given character head returns 1 for singlebyte encodings or performs direct length table lookup for multibyte ones.
protected  int mb2CodeToMbc(int code, byte[] bytes, int p)
           
protected  int mb2CodeToMbcLength(int code)
           
protected  boolean mb2IsCodeCType(int code, int ctype)
           
protected  int mb4CodeToMbc(int code, byte[] bytes, int p)
           
protected  int mb4CodeToMbcLength(int code)
           
protected  boolean mb4IsCodeCType(int code, int ctype)
           
 int mbcCaseFold(int flag, byte[] bytes, IntHolder pp, int end, byte[] lower)
          onigenc_ascii_mbc_case_fold
protected  int mbnMbcCaseFold(int flag, byte[] bytes, IntHolder pp, int end, byte[] lower)
           
protected  int mbnMbcToCode(byte[] bytes, int p, int end)
           
protected  int missing(int n)
           
protected  int missing(int b, int delta)
           
 int propertyNameToCType(byte[] bytes, int p, int end)
          onigenc_minimum_property_name_to_ctype notably overridden by unicode encodings
protected  int safeLengthForUptoFour(byte[] bytes, int p, int end)
           
protected  int safeLengthForUptoThree(byte[] bytes, int p, int end)
           
protected  int safeLengthForUptoTwo(byte[] bytes, int p, int end)
           
 int strCodeAt(byte[] bytes, int p, int end, int index)
           
 int strLength(byte[] bytes, int p, int end)
           
 
Methods inherited from class org.jcodings.Encoding
asciiToLower, asciiToUpper, codeToMbc, codeToMbcLength, ctypeCodeRange, digitVal, equals, getIndex, getName, hashCode, isAlnum, isAlpha, isAscii, isAscii, isAsciiCompatible, isBlank, isCntrl, isCodeCType, isDigit, isDummy, isFixedWidth, isGraph, isLower, isMbcAscii, isMbcCrnl, isMbcHead, isMbcWord, isNewLine, isPrint, isPunct, isReverseMatchAllowed, isSbWord, isSingleByte, isSpace, isUpper, isWord, isWordGraphPrint, isXDigit, leftAdjustCharHead, length, load, maxLength, maxLengthDistance, mbcodeStartPosition, mbcToCode, 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

EncLen

protected final int[] EncLen

A

protected static final int A
See Also:
Constant Field Values

F

protected static final int F
See Also:
Constant Field Values

Trans

protected final int[][] Trans

TransZero

protected final int[] TransZero

EMPTY_FOLD_CODES

protected static final CaseFoldCodeItem[] EMPTY_FOLD_CODES
Constructor Detail

MultiByteEncoding

protected MultiByteEncoding(String name,
                            int minLength,
                            int maxLength,
                            int[] EncLen,
                            int[][] Trans,
                            short[] CTypeTable)
Method Detail

length

public int length(byte c)
Description copied from class: Encoding
Returns character length given character head returns 1 for singlebyte encodings or performs direct length table lookup for multibyte ones.

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)

missing

protected final int missing(int n)

missing

protected final int missing(int b,
                            int delta)

safeLengthForUptoFour

protected final int safeLengthForUptoFour(byte[] bytes,
                                          int p,
                                          int end)

safeLengthForUptoThree

protected final int safeLengthForUptoThree(byte[] bytes,
                                           int p,
                                           int end)

safeLengthForUptoTwo

protected final int safeLengthForUptoTwo(byte[] bytes,
                                         int p,
                                         int end)

mbnMbcToCode

protected final int mbnMbcToCode(byte[] bytes,
                                 int p,
                                 int end)

mbnMbcCaseFold

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

mb2CodeToMbcLength

protected final int mb2CodeToMbcLength(int code)

mb4CodeToMbcLength

protected final int mb4CodeToMbcLength(int code)

mb2CodeToMbc

protected final int mb2CodeToMbc(int code,
                                 byte[] bytes,
                                 int p)

mb4CodeToMbc

protected final int mb4CodeToMbc(int code,
                                 byte[] bytes,
                                 int p)

mb2IsCodeCType

protected final boolean mb2IsCodeCType(int code,
                                       int ctype)

mb4IsCodeCType

protected final boolean mb4IsCodeCType(int code,
                                       int ctype)

strLength

public 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

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

asciiApplyAllCaseFold

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

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


Copyright © 2011. All Rights Reserved.