Class UnitsData.CategoriesSink

java.lang.Object
com.ibm.icu.impl.UResource.Sink
com.ibm.icu.impl.units.UnitsData.CategoriesSink
Enclosing class:
UnitsData

public static class UnitsData.CategoriesSink extends UResource.Sink
A Resource Sink that collects information from unitQuantities in the units resource to provide key->value lookups from base unit to category, as well as preserving ordering information for these categories. See units.txt. For example: "kilogram" -> "mass", "meter-per-second" -> "speed". In Java unitQuantity values are collected in order into an ArrayList, while unitQuantity key-to-index lookups are handled with a HashMap.
  • Field Details

    • mapFromUnitToIndex

      HashMap<String,Integer> mapFromUnitToIndex
      Contains the map between units in their base units into their category. For example: meter-per-second --> "speed"
    • categories

      ArrayList<String> categories
  • Constructor Details

    • CategoriesSink

      public CategoriesSink()
  • Method Details

    • put

      public void put(UResource.Key key, UResource.Value value, boolean noFallback)
      Description copied from class: UResource.Sink
      Called once for each bundle (child-parent-...-root). The value is normally an array or table resource, and implementations of this method normally iterate over the tree of resource items stored there.
      Specified by:
      put in class UResource.Sink
      Parameters:
      key - Initially the key string of the enumeration-start resource. Empty if the enumeration starts at the top level of the bundle. Reuse for output values from Array and Table getters.
      value - Call getArray() or getTable() as appropriate. Then reuse for output values from Array and Table getters.
      noFallback - true if the bundle has no parent; that is, its top-level table has the nofallback attribute, or it is the root bundle of a locale tree.