]> granicus.if.org Git - icu/commitdiff
ICU-13177 Changes to existing API for number formatting overhaul.
authorShane Carr <shane@unicode.org>
Sat, 5 Aug 2017 00:28:16 +0000 (00:28 +0000)
committerShane Carr <shane@unicode.org>
Sat, 5 Aug 2017 00:28:16 +0000 (00:28 +0000)
X-SVN-Rev: 40314

icu4j/main/classes/core/src/com/ibm/icu/text/NumberingSystem.java
icu4j/main/classes/core/src/com/ibm/icu/util/Dimensionless.java [new file with mode: 0644]
icu4j/main/classes/core/src/com/ibm/icu/util/MeasureUnit.java
icu4j/main/tests/core/src/com/ibm/icu/dev/test/serializable/SerializableTestUtility.java

index e678b5a7b08f0202ec433c670ce58a4c7e318262..7e1d4b19ea876e82d89c8582003ce779a646c14f 100644 (file)
@@ -36,6 +36,8 @@ import com.ibm.icu.util.UResourceBundleIterator;
 public class NumberingSystem {
     private static final String[] OTHER_NS_KEYWORDS = { "native", "traditional", "finance" };
 
+    public static final NumberingSystem LATIN = lookupInstanceByName("latn");
+
     /**
      * Default constructor.  Returns a numbering system that uses the Western decimal
      * digits 0 through 9.
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/Dimensionless.java b/icu4j/main/classes/core/src/com/ibm/icu/util/Dimensionless.java
new file mode 100644 (file)
index 0000000..96cb431
--- /dev/null
@@ -0,0 +1,19 @@
+// © 2017 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html#License
+package com.ibm.icu.util;
+
+public class Dimensionless extends MeasureUnit {
+
+    public static final Dimensionless BASE =
+        (Dimensionless) MeasureUnit.internalGetInstance("dimensionless", "base");
+
+    public static final Dimensionless PERCENT =
+        (Dimensionless) MeasureUnit.internalGetInstance("dimensionless", "percent");
+
+    public static final Dimensionless PERMILLE =
+        (Dimensionless) MeasureUnit.internalGetInstance("dimensionless", "permille");
+
+    protected Dimensionless(String subType) {
+        super("dimensionless", subType);
+    }
+}
index 17513d01bea306c5146ce8d034b64fd7a6458341..ce5021581296504d213031ea04c6d0aed814332f 100644 (file)
@@ -195,6 +195,8 @@ public class MeasureUnit implements Serializable {
             factory = CURRENCY_FACTORY;
         } else if ("duration".equals(type)) {
             factory = TIMEUNIT_FACTORY;
+        } else if ("dimensionless".equals(type)) {
+            factory = DIMENSIONLESS_FACTORY;
         } else {
             factory = UNIT_FACTORY;
         }
@@ -249,6 +251,13 @@ public class MeasureUnit implements Serializable {
         }
     };
 
+    static Factory DIMENSIONLESS_FACTORY = new Factory() {
+        @Override
+        public MeasureUnit create(String type, String subType) {
+           return new Dimensionless(subType);
+        }
+    };
+
     /**
      * Sink for enumerating the available measure units.
      */
index a813e2af4348e1c3d0311f4fe1a8e9c9c8d255b3..82a5e8e34116297730c73d46a774756f23ea5ed8 100644 (file)
@@ -827,6 +827,7 @@ public class SerializableTestUtility {
         map.put("com.ibm.icu.text.PluralRules$FixedDecimal", new PluralRulesTest.FixedDecimalHandler());
         map.put("com.ibm.icu.util.MeasureUnit", new MeasureUnitTest.MeasureUnitHandler());
         map.put("com.ibm.icu.util.TimeUnit", new MeasureUnitTest.MeasureUnitHandler());
+        map.put("com.ibm.icu.util.Dimensionless", new MeasureUnitTest.MeasureUnitHandler());
         map.put("com.ibm.icu.text.MeasureFormat", new MeasureUnitTest.MeasureFormatHandler());
         map.put("com.ibm.icu.impl.number.Properties", new PropertiesTest.PropertiesHandler());