Class UTF16CharacterSet

  • All Implemented Interfaces:
    CharacterSet

    public class UTF16CharacterSet
    extends java.lang.Object
    implements CharacterSet
    A class to hold some static constants and methods associated with processing UTF16 and surrogate pairs
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static int combinePair​(char high, char low)
      Return the non-BMP character corresponding to a given surrogate pair surrogates.
      static boolean containsSurrogates​(java.lang.CharSequence s)
      Test whether a CharSequence contains any surrogates (i.e.
      static int firstInvalidChar​(java.lang.CharSequence chars, java.util.function.IntPredicate predicate)
      Test whether all the characters in a CharSequence are valid XML characters
      java.lang.String getCanonicalName()
      Get the preferred Java name of the character set.
      static UTF16CharacterSet getInstance()
      Get the singular instance of this class
      static char highSurrogate​(int ch)
      Return the high surrogate of a non-BMP character
      boolean inCharset​(int c)
      Determine if a character is present in the character set
      static boolean isHighSurrogate​(int ch)
      Test whether the given character is a high surrogate
      static boolean isLowSurrogate​(int ch)
      Test whether the given character is a low surrogate
      static boolean isSurrogate​(int c)
      Test whether a given character is a surrogate (high or low)
      static char lowSurrogate​(int ch)
      Return the low surrogate of a non-BMP character
      static void main​(java.lang.String[] args)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • getInstance

        public static UTF16CharacterSet getInstance()
        Get the singular instance of this class
        Returns:
        the singular instance of this class
      • inCharset

        public boolean inCharset​(int c)
        Description copied from interface: CharacterSet
        Determine if a character is present in the character set
        Specified by:
        inCharset in interface CharacterSet
      • getCanonicalName

        public java.lang.String getCanonicalName()
        Description copied from interface: CharacterSet
        Get the preferred Java name of the character set. Note that Java in many cases also supports a "historic name".
        Specified by:
        getCanonicalName in interface CharacterSet
      • combinePair

        public static int combinePair​(char high,
                                      char low)
        Return the non-BMP character corresponding to a given surrogate pair surrogates.
        Parameters:
        high - The high surrogate.
        low - The low surrogate.
        Returns:
        the Unicode codepoint represented by the surrogate pair
      • highSurrogate

        public static char highSurrogate​(int ch)
        Return the high surrogate of a non-BMP character
        Parameters:
        ch - The Unicode codepoint of the non-BMP character to be divided.
        Returns:
        the first character in the surrogate pair
      • lowSurrogate

        public static char lowSurrogate​(int ch)
        Return the low surrogate of a non-BMP character
        Parameters:
        ch - The Unicode codepoint of the non-BMP character to be divided.
        Returns:
        the second character in the surrogate pair
      • isSurrogate

        public static boolean isSurrogate​(int c)
        Test whether a given character is a surrogate (high or low)
        Parameters:
        c - the character to test
        Returns:
        true if the character is the high or low half of a surrogate pair
      • isHighSurrogate

        public static boolean isHighSurrogate​(int ch)
        Test whether the given character is a high surrogate
        Parameters:
        ch - The character to test.
        Returns:
        true if the character is the first character in a surrogate pair
      • isLowSurrogate

        public static boolean isLowSurrogate​(int ch)
        Test whether the given character is a low surrogate
        Parameters:
        ch - The character to test.
        Returns:
        true if the character is the second character in a surrogate pair
      • containsSurrogates

        public static boolean containsSurrogates​(java.lang.CharSequence s)
        Test whether a CharSequence contains any surrogates (i.e. any non-BMP characters
        Parameters:
        s - the string to be tested
      • firstInvalidChar

        public static int firstInvalidChar​(java.lang.CharSequence chars,
                                           java.util.function.IntPredicate predicate)
        Test whether all the characters in a CharSequence are valid XML characters
        Parameters:
        chars - the character sequence to be tested
        predicate - the predicate that all characters must satisfy
        Returns:
        the codepoint of the first invalid character in the character sequence (according to the supplied predicate); or -1 if all characters in the character sequence are valid
      • main

        public static void main​(java.lang.String[] args)