org.joni.encoding
Class MultiByteEncoding

java.lang.Object
  extended by org.joni.encoding.Encoding
      extended by org.joni.encoding.MultiByteEncoding
Direct Known Subclasses:
BIG5Encoding, EucEncoding, SJISEncoding, UnicodeEncoding

public abstract class MultiByteEncoding
extends Encoding


Field Summary
protected static int[][] AsciiLowerMap
           
static byte[] AsciiToLowerCaseTable
           
static byte[] AsciiToUpperCaseTable
           
protected static CaseFoldCodeItem[] EMPTY_FOLD_CODES
           
protected  int[] EncLen
           
 
Fields inherited from class org.joni.encoding.Encoding
hashCode, name, NEW_LINE
 
Constructor Summary
protected MultiByteEncoding(int[] EncLen, short[] CTypeTable)
           
 
Method Summary
 void applyAllCaseFold(int flag, ApplyAllCaseFoldFunction fun, java.lang.Object arg)
          onigenc_ascii_apply_all_case_fold / used also by multibyte encodings
protected  void asciiApplyAllCaseFold(int flag, ApplyAllCaseFoldFunction fun, java.lang.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
 boolean isSingleByte()
           
 int length(byte c)
          Returns character length given the 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)
           
 int propertyNameToCType(byte[] bytes, int p, int end)
          onigenc_minimum_property_name_to_ctype notably overridden by unicode encodings
 
Methods inherited from class org.joni.encoding.Encoding
asciiToLower, asciiToUpper, codeToMbc, codeToMbcLength, ctypeCodeRange, digitVal, equals, getName, hashCode, isAlnum, isAlpha, isAscii, isBlank, isCntrl, isCodeCType, isDigit, isFixedWidth, isGraph, isLower, isMbcAscii, isMbcCrnl, isMbcHead, isMbcWord, isNewLine, isPrint, isPunct, isReverseMatchAllowed, isSbWord, isSpace, isUpper, isWord, isWordGraphPrint, isXDigit, leftAdjustCharHead, maxLength, maxLengthDistance, mbcodeStartPosition, mbcToCode, minLength, odigitVal, prevCharHead, rightAdjustCharHead, rightAdjustCharHeadWithPrev, step, stepBack, strByteLengthNull, strLength, 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

AsciiToLowerCaseTable

public static final byte[] AsciiToLowerCaseTable

AsciiToUpperCaseTable

public static final byte[] AsciiToUpperCaseTable

AsciiLowerMap

protected static final int[][] AsciiLowerMap

EMPTY_FOLD_CODES

protected static final CaseFoldCodeItem[] EMPTY_FOLD_CODES
Constructor Detail

MultiByteEncoding

protected MultiByteEncoding(int[] EncLen,
                            short[] CTypeTable)
Method Detail

length

public int length(byte c)
Description copied from class: Encoding
Returns character length given the 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

isSingleByte

public boolean isSingleByte()
Specified by:
isSingleByte in class Encoding

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)

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,
                                           java.lang.Object arg)

applyAllCaseFold

public void applyAllCaseFold(int flag,
                             ApplyAllCaseFoldFunction fun,
                             java.lang.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 © {inceptionYear}-2008 null. All Rights Reserved.