Class CompactData

  • All Implemented Interfaces:
    MultiplierProducer

    public class CompactData
    extends java.lang.Object
    implements MultiplierProducer
    Datatype for compact notation data. Includes logic for data loading.
    • Field Detail

      • patterns

        private final java.lang.String[] patterns
      • multipliers

        private final byte[] multipliers
      • largestMagnitude

        private byte largestMagnitude
      • isEmpty

        private boolean isEmpty
    • Constructor Detail

      • CompactData

        public CompactData()
    • Method Detail

      • getResourceBundleKey

        private static void getResourceBundleKey​(java.lang.String nsName,
                                                 CompactDecimalFormat.CompactStyle compactStyle,
                                                 CompactData.CompactType compactType,
                                                 java.lang.StringBuilder sb)
        Produces a string like "NumberElements/latn/patternsShort/decimalFormat".
      • populate

        public void populate​(java.util.Map<java.lang.String,​java.util.Map<java.lang.String,​java.lang.String>> powersToPluralsToPatterns)
        Java-only method used by CLDR tooling.
      • getMultiplier

        public int getMultiplier​(int magnitude)
        Description copied from interface: MultiplierProducer
        Maps a magnitude to a multiplier in powers of ten. For example, in compact notation in English, a magnitude of 5 (e.g., 100,000) should return a multiplier of -3, since the number is displayed in thousands.
        Specified by:
        getMultiplier in interface MultiplierProducer
        Parameters:
        magnitude - The power of ten of the input number.
        Returns:
        The shift in powers of ten.
      • getUniquePatterns

        public void getUniquePatterns​(java.util.Set<java.lang.String> output)
      • getIndex

        private static final int getIndex​(int magnitude,
                                          StandardPlural plural)
      • countZeros

        private static final int countZeros​(java.lang.String patternString)