Class UTS46

java.lang.Object
com.ibm.icu.text.IDNA
com.ibm.icu.impl.UTS46

public final class UTS46 extends IDNA
UTS #46 (IDNA2008) implementation.
Since:
2010jul09
  • Field Details

    • uts46Norm2

      private static final Normalizer2 uts46Norm2
    • options

      final int options
    • severeErrors

      private static final EnumSet<IDNA.Error> severeErrors
    • asciiData

      private static final byte[] asciiData
    • L_MASK

      private static final int L_MASK
    • R_AL_MASK

      private static final int R_AL_MASK
    • L_R_AL_MASK

      private static final int L_R_AL_MASK
    • R_AL_AN_MASK

      private static final int R_AL_AN_MASK
    • EN_AN_MASK

      private static final int EN_AN_MASK
    • R_AL_EN_AN_MASK

      private static final int R_AL_EN_AN_MASK
    • L_EN_MASK

      private static final int L_EN_MASK
    • ES_CS_ET_ON_BN_NSM_MASK

      private static final int ES_CS_ET_ON_BN_NSM_MASK
    • L_EN_ES_CS_ET_ON_BN_NSM_MASK

      private static final int L_EN_ES_CS_ET_ON_BN_NSM_MASK
    • R_AL_AN_EN_ES_CS_ET_ON_BN_NSM_MASK

      private static final int R_AL_AN_EN_ES_CS_ET_ON_BN_NSM_MASK
    • U_GC_M_MASK

      private static int U_GC_M_MASK
  • Constructor Details

    • UTS46

      public UTS46(int options)
  • Method Details

    • labelToASCII

      public StringBuilder labelToASCII(CharSequence label, StringBuilder dest, IDNA.Info info)
      Description copied from class: IDNA
      Converts a single domain name label into its ASCII form for DNS lookup. If any processing step fails, then info.hasErrors() will be true and the result might not be an ASCII string. The label might be modified according to the types of errors. Labels with severe errors will be left in (or turned into) their Unicode form.
      Specified by:
      labelToASCII in class IDNA
      Parameters:
      label - Input domain name label
      dest - Destination string object
      info - Output container of IDNA processing details.
      Returns:
      dest
    • labelToUnicode

      public StringBuilder labelToUnicode(CharSequence label, StringBuilder dest, IDNA.Info info)
      Description copied from class: IDNA
      Converts a single domain name label into its Unicode form for human-readable display. If any processing step fails, then info.hasErrors() will be true. The label might be modified according to the types of errors.
      Specified by:
      labelToUnicode in class IDNA
      Parameters:
      label - Input domain name label
      dest - Destination string object
      info - Output container of IDNA processing details.
      Returns:
      dest
    • nameToASCII

      public StringBuilder nameToASCII(CharSequence name, StringBuilder dest, IDNA.Info info)
      Description copied from class: IDNA
      Converts a whole domain name into its ASCII form for DNS lookup. If any processing step fails, then info.hasErrors() will be true and the result might not be an ASCII string. The domain name might be modified according to the types of errors. Labels with severe errors will be left in (or turned into) their Unicode form.
      Specified by:
      nameToASCII in class IDNA
      Parameters:
      name - Input domain name
      dest - Destination string object
      info - Output container of IDNA processing details.
      Returns:
      dest
    • nameToUnicode

      public StringBuilder nameToUnicode(CharSequence name, StringBuilder dest, IDNA.Info info)
      Description copied from class: IDNA
      Converts a whole domain name into its Unicode form for human-readable display. If any processing step fails, then info.hasErrors() will be true. The domain name might be modified according to the types of errors.
      Specified by:
      nameToUnicode in class IDNA
      Parameters:
      name - Input domain name
      dest - Destination string object
      info - Output container of IDNA processing details.
      Returns:
      dest
    • isASCIIString

      private static boolean isASCIIString(CharSequence dest)
    • process

      private StringBuilder process(CharSequence src, boolean isLabel, boolean toASCII, StringBuilder dest, IDNA.Info info)
    • processUnicode

      private StringBuilder processUnicode(CharSequence src, int labelStart, int mappingStart, boolean isLabel, boolean toASCII, StringBuilder dest, IDNA.Info info)
    • mapDevChars

      private int mapDevChars(StringBuilder dest, int labelStart, int mappingStart)
    • replaceLabel

      private static int replaceLabel(StringBuilder dest, int destLabelStart, int destLabelLength, CharSequence label, int labelLength)
    • processLabel

      private int processLabel(StringBuilder dest, int labelStart, int labelLength, boolean toASCII, IDNA.Info info)
    • markBadACELabel

      private int markBadACELabel(StringBuilder dest, int labelStart, int labelLength, boolean toASCII, IDNA.Info info)
    • checkLabelBiDi

      private void checkLabelBiDi(CharSequence label, int labelStart, int labelLength, IDNA.Info info)
    • isASCIIOkBiDi

      private static boolean isASCIIOkBiDi(CharSequence s, int length)
    • isLabelOkContextJ

      private boolean isLabelOkContextJ(CharSequence label, int labelStart, int labelLength)
    • checkLabelContextO

      private void checkLabelContextO(CharSequence label, int labelStart, int labelLength, IDNA.Info info)
    • U_MASK

      private static int U_MASK(int x)
    • U_GET_GC_MASK

      private static int U_GET_GC_MASK(int c)