Class UnicodeSet.XSymbolTable

java.lang.Object
com.ibm.icu.text.UnicodeSet.XSymbolTable
All Implemented Interfaces:
SymbolTable
Direct Known Subclasses:
RBBIRuleScanner.RBBIXSymbolTable
Enclosing class:
UnicodeSet

public abstract static class UnicodeSet.XSymbolTable extends Object implements SymbolTable
Internal class for customizing UnicodeSet parsing of properties. TODO: extend to allow customizing of codepoint ranges
  • Constructor Details

    • XSymbolTable

      public XSymbolTable()
      Default constructor
  • Method Details

    • lookupMatcher

      public UnicodeMatcher lookupMatcher(int i)
      Supplies default implementation for SymbolTable (no action).
      Specified by:
      lookupMatcher in interface SymbolTable
      Parameters:
      i - a 32-bit code point from 0 to 0x10FFFF inclusive.
      Returns:
      the UnicodeMatcher object represented by the given character, or null if there is no mapping for ch.
    • applyPropertyAlias

      public boolean applyPropertyAlias(String propertyName, String propertyValue, UnicodeSet result)
      Override the interpretation of the sequence [:propertyName=propertyValue:] (and its negated and Perl-style variant). The propertyName and propertyValue may be existing Unicode aliases, or may not be.

      This routine will be called whenever the parsing of a UnicodeSet pattern finds such a propertyName+propertyValue combination.

      Parameters:
      propertyName - the name of the property
      propertyValue - the name of the property value
      result - UnicodeSet value to change a set to which the characters having the propertyName+propertyValue are to be added.
      Returns:
      returns true if the propertyName+propertyValue combination is to be overridden, and the characters with that property have been added to the UnicodeSet, and returns false if the propertyName+propertyValue combination is not recognized (in which case result is unaltered).
    • lookup

      public char[] lookup(String s)
      Supplies default implementation for SymbolTable (no action).
      Specified by:
      lookup in interface SymbolTable
      Parameters:
      s - the symbolic name to lookup
      Returns:
      a char array containing the name's value, or null if there is no mapping for s.
    • parseReference

      public String parseReference(String text, ParsePosition pos, int limit)
      Supplies default implementation for SymbolTable (no action).
      Specified by:
      parseReference in interface SymbolTable
      Parameters:
      text - the text to parse for the name
      pos - on entry, the index of the first character to parse. This is the character following the SYMBOL_REF character. On exit, the index after the last parsed character. If the parse failed, pos is unchanged on exit.
      limit - the index after the last character to be parsed.
      Returns:
      the parsed name, or null if there is no valid symbolic name at the given position.
    • scanVariable

      @Deprecated public String scanVariable(String text, ParsePosition pos, int limit)
      Deprecated.
      This API is ICU internal only.
      If the source text has a valid variable starting at pos, advances pos past that variable and returns the name that should be passed to lookup or lookupSet. Otherwise, returns null and does not advance pos. By default, this method checks for variables with a $ sigil, but it can be overriden to support other variable syntaxes, e.g., the use of short Line_Break value aliases for sets in UAX #14 rules ([QU-\p{Pi}] for [\p{lb=QU}-\p{Pi}]).