Class UnicodeDataTemplateController

java.lang.Object
org.antlr.v4.unicode.UnicodeDataTemplateController

public abstract class UnicodeDataTemplateController extends Object
StringTemplate controller used to generate parameters to feed to unicodedata.st to code-generate UnicodeData.java, used by the tool for Unicode property escapes like \\p\{Lu\}. Uses ICU to iterate over Unicode character categories, properties, and script codes, as well as aliases for those codes. This class exists in its own Maven module to avoid adding a dependency from the tool onto the (large) ICU runtime.
  • Constructor Details

    • UnicodeDataTemplateController

      public UnicodeDataTemplateController()
  • Method Details

    • addIntervalForCategory

      private static void addIntervalForCategory(Map<String,IntervalSet> categoryMap, String categoryName, int start, int finish)
    • addPropertyAliases

      private static void addPropertyAliases(Map<String,String> propertyAliases, String propertyName, int property)
    • addPropertyAlias

      private static void addPropertyAlias(Map<String,String> propertyAliases, String alias, String propertyName)
    • getProperties

      public static Map<String,Object> getProperties()
    • convertToRawArray

      private static List<Integer> convertToRawArray(IntervalSet intervalSet)
    • getShortPropertyName

      private static String getShortPropertyName(int property)
    • addUnicodeCategoryCodesToCodePointRanges

      private static void addUnicodeCategoryCodesToCodePointRanges(Map<String,IntervalSet> propertyCodePointRanges)
    • addUnicodeCategoryCodesToNames

      private static void addUnicodeCategoryCodesToNames(Map<String,String> propertyAliases)
    • addUnicodeBinaryPropertyCodesToCodePointRanges

      private static void addUnicodeBinaryPropertyCodesToCodePointRanges(Map<String,IntervalSet> propertyCodePointRanges)
    • addUnicodeBinaryPropertyCodesToNames

      private static void addUnicodeBinaryPropertyCodesToNames(Map<String,String> propertyAliases)
    • addIntPropertyRanges

      private static void addIntPropertyRanges(int property, String namePrefix, Map<String,IntervalSet> propertyCodePointRanges)
    • addUnicodeSetToIntervalSet

      private static void addUnicodeSetToIntervalSet(com.ibm.icu.text.UnicodeSet unicodeSet, IntervalSet intervalSet)
    • addUnicodeIntPropertyCodesToCodePointRanges

      private static void addUnicodeIntPropertyCodesToCodePointRanges(Map<String,IntervalSet> propertyCodePointRanges)
    • addTR35ExtendedPictographicPropertyCodesToCodePointRanges

      private static void addTR35ExtendedPictographicPropertyCodesToCodePointRanges(Map<String,IntervalSet> propertyCodePointRanges)
    • addEmojiPresentationPropertyCodesToCodePointRanges

      private static void addEmojiPresentationPropertyCodesToCodePointRanges(Map<String,IntervalSet> propertyCodePointRanges)
    • addIntPropertyAliases

      private static void addIntPropertyAliases(int property, String namePrefix, Map<String,String> propertyAliases)
    • addUnicodeScriptCodesToNames

      private static void addUnicodeScriptCodesToNames(Map<String,String> propertyAliases)
    • addUnicodeBlocksToNames

      private static void addUnicodeBlocksToNames(Map<String,String> propertyAliases)
    • addUnicodeIntPropertyCodesToNames

      private static void addUnicodeIntPropertyCodesToNames(Map<String,String> propertyAliases)