Class CollationRuleParser


  • public final class CollationRuleParser
    extends java.lang.Object
    • Constructor Detail

      • CollationRuleParser

        CollationRuleParser​(CollationData base)
        Constructor. The Sink must be set before parsing. The Importer can be set, otherwise [import locale] syntax is not supported.
    • Method Detail

      • setSink

        void setSink​(CollationRuleParser.Sink sinkAlias)
        Sets the pointer to a Sink object. The pointer is aliased: Pointer copy without cloning or taking ownership.
      • setImporter

        void setImporter​(CollationRuleParser.Importer importerAlias)
        Sets the pointer to an Importer object. The pointer is aliased: Pointer copy without cloning or taking ownership.
      • parse

        void parse​(java.lang.String ruleString,
                   CollationSettings outSettings)
            throws java.text.ParseException
        Throws:
        java.text.ParseException
      • parse

        private void parse​(java.lang.String ruleString)
                    throws java.text.ParseException
        Throws:
        java.text.ParseException
      • parseRuleChain

        private void parseRuleChain()
                             throws java.text.ParseException
        Throws:
        java.text.ParseException
      • parseResetAndPosition

        private int parseResetAndPosition()
                                   throws java.text.ParseException
        Throws:
        java.text.ParseException
      • parseRelationOperator

        private int parseRelationOperator()
      • parseRelationStrings

        private void parseRelationStrings​(int strength,
                                          int i)
                                   throws java.text.ParseException
        Throws:
        java.text.ParseException
      • parseStarredCharacters

        private void parseStarredCharacters​(int strength,
                                            int i)
                                     throws java.text.ParseException
        Throws:
        java.text.ParseException
      • parseTailoringString

        private int parseTailoringString​(int i,
                                         java.lang.StringBuilder raw)
                                  throws java.text.ParseException
        Throws:
        java.text.ParseException
      • parseString

        private int parseString​(int i,
                                java.lang.StringBuilder raw)
                         throws java.text.ParseException
        Throws:
        java.text.ParseException
      • isSurrogate

        private static final boolean isSurrogate​(int c)
      • parseSpecialPosition

        private int parseSpecialPosition​(int i,
                                         java.lang.StringBuilder str)
                                  throws java.text.ParseException
        Sets str to a contraction of U+FFFE and (U+2800 + Position).
        Returns:
        rule index after the special reset position
        Throws:
        java.text.ParseException
      • parseSetting

        private void parseSetting()
                           throws java.text.ParseException
        Throws:
        java.text.ParseException
      • parseReordering

        private void parseReordering​(java.lang.CharSequence raw)
                              throws java.text.ParseException
        Throws:
        java.text.ParseException
      • getReorderCode

        public static int getReorderCode​(java.lang.String word)
        Gets a script or reorder code from its string representation.
        Returns:
        the script/reorder code, or -1 if not recognized
      • getOnOffValue

        private static int getOnOffValue​(java.lang.String s)
      • parseUnicodeSet

        private int parseUnicodeSet​(int i,
                                    UnicodeSet set)
                             throws java.text.ParseException
        Throws:
        java.text.ParseException
      • readWords

        private int readWords​(int i,
                              java.lang.StringBuilder raw)
      • skipComment

        private int skipComment​(int i)
      • setParseError

        private void setParseError​(java.lang.String reason)
                            throws java.text.ParseException
        Throws:
        java.text.ParseException
      • setParseError

        private void setParseError​(java.lang.String reason,
                                   java.lang.Exception e)
                            throws java.text.ParseException
        Throws:
        java.text.ParseException
      • makeParseException

        private java.text.ParseException makeParseException​(java.lang.String reason)
      • appendErrorContext

        private java.lang.String appendErrorContext​(java.lang.String reason)
      • isSyntaxChar

        private static boolean isSyntaxChar​(int c)
        ASCII [:P:] and [:S:]: [!-/ :-@ [-` {-~]
      • skipWhiteSpace

        private int skipWhiteSpace​(int i)