org.joni.encoding
Class CaseFoldMapEncoding

java.lang.Object
  extended by org.joni.encoding.Encoding
      extended by org.joni.encoding.SingleByteEncoding
          extended by org.joni.encoding.CaseFoldMapEncoding
Direct Known Subclasses:
CP1251Encoding, ISOEncoding, KOI8Encoding

public abstract class CaseFoldMapEncoding
extends SingleByteEncoding


Field Summary
protected static int[][] AsciiLowerMap
           
static byte[] AsciiToLowerCaseTable
           
static byte[] AsciiToUpperCaseTable
           
protected  int[][] CaseFoldMap
           
protected static CaseFoldCodeItem[] EMPTY_FOLD_CODES
           
protected  boolean foldFlag
           
 
Fields inherited from class org.joni.encoding.SingleByteEncoding
LowerCaseTable
 
Fields inherited from class org.joni.encoding.Encoding
hashCode, name, NEW_LINE
 
Constructor Summary
protected CaseFoldMapEncoding(short[] CTypeTable, byte[] LowerCaseTable, int[][] CaseFoldMap)
           
protected CaseFoldMapEncoding(short[] CTypeTable, byte[] LowerCaseTable, int[][] CaseFoldMap, boolean foldFlag)
           
 
Method Summary
 void applyAllCaseFold(int flag, ApplyAllCaseFoldFunction fun, java.lang.Object arg)
          onigenc_ascii_apply_all_case_fold / used also by multibyte encodings
protected  int applyAllCaseFoldWithMap(int mapSize, int[][] map, boolean essTsettFlag, int flag, ApplyAllCaseFoldFunction fun, java.lang.Object arg)
          onigenc_apply_all_case_fold_with_map
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  CaseFoldCodeItem[] getCaseFoldCodesByStringWithMap(int mapSize, int[][] map, boolean essTsettFlag, int flag, byte[] bytes, int p, int end)
          onigenc_get_case_fold_codes_by_str_with_map
 boolean isCodeCType(int code, int ctype)
          Perform a check whether given code is of given character type (e.g.
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 mbcCaseFold(int flag, byte[] bytes, IntHolder pp, int end, byte[] lower)
          onigenc_ascii_mbc_case_fold
 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.SingleByteEncoding
codeToMbc, codeToMbcLength, ctypeCodeRange, isFixedWidth, isReverseMatchAllowed, isSingleByte, leftAdjustCharHead, length, maxLength, mbcToCode, minLength, strLength
 
Methods inherited from class org.joni.encoding.Encoding
asciiToLower, asciiToUpper, digitVal, equals, getName, hashCode, isAlnum, isAlpha, isAscii, isBlank, isCntrl, isDigit, isGraph, isLower, isMbcAscii, isMbcCrnl, isMbcHead, isMbcWord, isNewLine, isPrint, isPunct, isSbWord, isSpace, isUpper, isWord, isWordGraphPrint, isXDigit, maxLengthDistance, mbcodeStartPosition, odigitVal, prevCharHead, rightAdjustCharHead, rightAdjustCharHeadWithPrev, 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

CaseFoldMap

protected final int[][] CaseFoldMap

foldFlag

protected final boolean foldFlag

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

CaseFoldMapEncoding

protected CaseFoldMapEncoding(short[] CTypeTable,
                              byte[] LowerCaseTable,
                              int[][] CaseFoldMap)

CaseFoldMapEncoding

protected CaseFoldMapEncoding(short[] CTypeTable,
                              byte[] LowerCaseTable,
                              int[][] CaseFoldMap,
                              boolean foldFlag)
Method Detail

applyAllCaseFoldWithMap

protected final int applyAllCaseFoldWithMap(int mapSize,
                                            int[][] map,
                                            boolean essTsettFlag,
                                            int flag,
                                            ApplyAllCaseFoldFunction fun,
                                            java.lang.Object arg)
onigenc_apply_all_case_fold_with_map


getCaseFoldCodesByStringWithMap

protected final CaseFoldCodeItem[] getCaseFoldCodesByStringWithMap(int mapSize,
                                                                   int[][] map,
                                                                   boolean essTsettFlag,
                                                                   int flag,
                                                                   byte[] bytes,
                                                                   int p,
                                                                   int end)
onigenc_get_case_fold_codes_by_str_with_map


applyAllCaseFold

public void applyAllCaseFold(int flag,
                             ApplyAllCaseFoldFunction fun,
                             java.lang.Object arg)
onigenc_ascii_apply_all_case_fold / used also by multibyte encodings

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

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


isCodeCType

public boolean isCodeCType(int code,
                           int ctype)
Description copied from class: Encoding
Perform a check whether given code is of given character type (e.g. used by isWord(someByte) and similar methods)

Specified by:
isCodeCType in class Encoding
Parameters:
code - a code point of a character
ctype - a character type to check against Oniguruma equivalent: is_code_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)

asciiCaseFoldCodesByString

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

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 © 2010. All Rights Reserved.