Class UPropertyAliases

java.lang.Object
com.ibm.icu.impl.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
  • Field Details

  • Constructor Details

  • Method Details

    • load

      private void load(ByteBuffer bytes) throws IOException
      Throws:
      IOException
    • findProperty

      private int findProperty(int property)
    • findPropertyValueNameGroup

      private int findPropertyValueNameGroup(int valueMapIndex, int value)
    • getName

      private String getName(int nameGroupsIndex, int nameIndex)
    • asciiToLowercase

      private static int asciiToLowercase(int c)
    • containsName

      private boolean containsName(BytesTrie trie, CharSequence name)
    • 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.
    • getPropertyOrValueEnum

      private int getPropertyOrValueEnum(int bytesTrieOffset, CharSequence alias)
    • 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.