Package org.jcodings

Class AbstractEncoding

java.lang.Object
org.jcodings.Encoding
org.jcodings.AbstractEncoding
All Implemented Interfaces:
Cloneable
Direct Known Subclasses:
MultiByteEncoding, SingleByteEncoding

abstract class AbstractEncoding extends Encoding
  • Field Details

    • CTypeTable

      private final short[] CTypeTable
  • Constructor Details

    • AbstractEncoding

      protected AbstractEncoding(String name, int minLength, int maxLength, short[] CTypeTable)
  • Method Details

    • CTypeToBit

      private static int CTypeToBit(int ctype)
      CTYPE_TO_BIT
    • 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
    • asciiOnlyCaseMap

      int asciiOnlyCaseMap(IntHolder flagP, byte[] bytes, IntHolder pp, int end, byte[] to, int toP, int toEnd)
      onigenc_ascii_only_case_map / onigenc_single_byte_ascii_only_case_map
    • singleByteAsciiOnlyCaseMap

      int singleByteAsciiOnlyCaseMap(IntHolder flagP, byte[] bytes, IntHolder pp, int end, byte[] to, int toP, int toEnd)
    • 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