Class UPropertyAliases


  • public final class UPropertyAliases
    extends Object
    Wrapper for the pnames.icu binary data file. This data file is imported from icu4c. It contains property and property value aliases from the UCD files PropertyAliases.txt and PropertyValueAliases.txt. The file is built by the icu4c tool genpname. It must be an ASCII big-endian file to be usable in icu4j. This class performs two functions. (1) It can import the flat binary data into usable objects. (2) It provides an API to access the tree of objects. Needless to say, this class is tightly coupled to the binary format of icu4c's pnames.icu file. Each time a UPropertyAliases is constructed, the pnames.icu file is read, parsed, and data structures assembled. Clients should create one singleton instance and cache it.
    Since:
    ICU 2.4
    • Method Detail

      • getPropertyName

        public String getPropertyName​(int property,
                                      int nameChoice)
        Returns a property name given a property enum. Multiple names may be available for each property; the nameChoice selects among them.
      • getPropertyValueName

        public String getPropertyValueName​(int property,
                                           int value,
                                           int nameChoice)
        Returns a value name given a property enum and a value enum. Multiple names may be available for each value; the nameChoice selects among them.
      • getPropertyEnum

        public int getPropertyEnum​(CharSequence alias)
        Returns a property enum given one of its property names. If the property name is not known, this method returns UProperty.UNDEFINED.
      • getPropertyValueEnum

        public int getPropertyValueEnum​(int property,
                                        CharSequence alias)
        Returns a value enum given a property enum and one of its value names.
      • getPropertyValueEnumNoThrow

        public int getPropertyValueEnumNoThrow​(int property,
                                               CharSequence alias)
        Returns a value enum given a property enum and one of its value names. Does not throw.
        Returns:
        value enum, or UProperty.UNDEFINED if not defined for that property
      • compare

        public static int compare​(String stra,
                                  String strb)
        Compare two property names, returning <0, 0, or >0. The comparison is that described as "loose" matching in the Property*Aliases.txt files.