org.jcodings.unicode
Class FixedWidthUnicodeEncoding

java.lang.Object
  extended by org.jcodings.Encoding
      extended by org.jcodings.MultiByteEncoding
          extended by org.jcodings.unicode.UnicodeEncoding
              extended by org.jcodings.unicode.FixedWidthUnicodeEncoding
All Implemented Interfaces:
Cloneable
Direct Known Subclasses:
UTF32BEEncoding, UTF32LEEncoding

public abstract class FixedWidthUnicodeEncoding
extends UnicodeEncoding


Field Summary
protected static CaseFoldCodeItem[] EMPTY_FOLD_CODES
           
protected  int shift
           
 
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 FixedWidthUnicodeEncoding(String name, int width)
           
 
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 codeToMbcLength(int code)
          Returns character length given a code point Oniguruma equivalent: code_to_mbclen
 int[] ctypeCodeRange(int ctype, IntHolder sbOut)
          onigenc_utf16_32_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)
          Returns true if it's safe to use reversal Boyer-Moore search fail fast algorithm Oniguruma equivalent: is_allowed_reverse_match
 int leftAdjustCharHead(byte[] bytes, int p, int s, int end)
          Seeks the previous character head in a stream Oniguruma equivalent: left_adjust_char_head
 int length(byte c)
          Returns character length given character head returns 1 for singlebyte encodings or performs direct length table lookup for multibyte ones.
 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 strCodeAt(byte[] bytes, int p, int end, int index)
           
 int strLength(byte[] bytes, int p, int end)
           
 
Methods inherited from class org.jcodings.unicode.UnicodeEncoding
applyAllCaseFold, caseFoldCodesByString, ctypeCodeRange, isCodeCType, mbcCaseFold, propertyNameToCType
 
Methods inherited from class org.jcodings.MultiByteEncoding
mb2CodeToMbc, mb2CodeToMbcLength, mb2IsCodeCType, mb4CodeToMbc, mb4CodeToMbcLength, mb4IsCodeCType, mbnMbcCaseFold, mbnMbcToCode, missing, missing, safeLengthForUptoFour, safeLengthForUptoThree, safeLengthForUptoTwo
 
Methods inherited from class org.jcodings.Encoding
asciiToLower, asciiToUpper, codeToMbc, 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, 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

shift

protected final int shift

EMPTY_FOLD_CODES

protected static final CaseFoldCodeItem[] EMPTY_FOLD_CODES
Constructor Detail

FixedWidthUnicodeEncoding

protected FixedWidthUnicodeEncoding(String name,
                                    int width)
Method Detail

length

public final 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.

Overrides:
length in class MultiByteEncoding
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 final 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)
Overrides:
strLength in class MultiByteEncoding

strCodeAt

public final int strCodeAt(byte[] bytes,
                           int p,
                           int end,
                           int index)
Overrides:
strCodeAt in class MultiByteEncoding

codeToMbcLength

public final 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

ctypeCodeRange

public final int[] ctypeCodeRange(int ctype,
                                  IntHolder sbOut)
onigenc_utf16_32_get_ctype_code_range

Specified by:
ctypeCodeRange in class Encoding

leftAdjustCharHead

public final int leftAdjustCharHead(byte[] bytes,
                                    int p,
                                    int s,
                                    int end)
Description copied from class: Encoding
Seeks the previous character head in a stream Oniguruma equivalent: 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)
Description copied from class: Encoding
Returns true if it's safe to use reversal Boyer-Moore search fail fast algorithm Oniguruma equivalent: 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)

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.