summaryrefslogtreecommitdiffstats
path: root/luni
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2010-04-16 11:06:58 -0700
committerElliott Hughes <enh@google.com>2010-04-16 11:06:58 -0700
commitb7e820b92c7345cdc0cd4fea50954289ae66eb67 (patch)
tree4cb16a5101296e3a89f8c869073b5352f3020953 /luni
parente875cc0c3dc0ecb816fc154ddcfba38c064d00e2 (diff)
downloadlibcore-b7e820b92c7345cdc0cd4fea50954289ae66eb67.zip
libcore-b7e820b92c7345cdc0cd4fea50954289ae66eb67.tar.gz
libcore-b7e820b92c7345cdc0cd4fea50954289ae66eb67.tar.bz2
Change DecimalFormatSymbols to have a field per symbol.
I'd been wanting to do this for some time, but cleaning up the recent performance changes I made to Formatter was the final straw. Change-Id: I6d516de66a0bed5e759bca590b4cc124ce2eb712
Diffstat (limited to 'luni')
-rw-r--r--luni/src/main/java/java/util/Formatter.java16
-rw-r--r--luni/src/main/java/org/apache/harmony/luni/util/LocaleCache.java1
2 files changed, 8 insertions, 9 deletions
diff --git a/luni/src/main/java/java/util/Formatter.java b/luni/src/main/java/java/util/Formatter.java
index d7812be..f79fde9 100644
--- a/luni/src/main/java/java/util/Formatter.java
+++ b/luni/src/main/java/java/util/Formatter.java
@@ -1444,7 +1444,7 @@ public final class Formatter implements Closeable, Flushable {
break;
case 'd':
if (arg instanceof Integer || arg instanceof Long || arg instanceof Short || arg instanceof Byte) {
- if (localeData.decimalPatternChars.charAt(0) == '0') { // ZERO_DIGIT
+ if (localeData.zeroDigit == '0') {
return arg.toString();
}
}
@@ -1655,7 +1655,7 @@ public final class Formatter implements Closeable, Flushable {
char paddingChar = '\u0020'; // space as padding char.
if (formatToken.flagZero) {
if (formatToken.getConversionType() == 'd') {
- paddingChar = localeData.decimalPatternChars.charAt(0); // ZERO_DIGIT
+ paddingChar = localeData.zeroDigit;
} else {
paddingChar = '0'; // No localized digits for bases other than decimal.
}
@@ -1725,7 +1725,7 @@ public final class Formatter implements Closeable, Flushable {
}
if ('d' == currentConversionType) {
- if (formatToken.flagComma || localeData.decimalPatternChars.charAt(0) != '0') { // ZERO_DIGIT
+ if (formatToken.flagComma || localeData.zeroDigit != '0') {
NumberFormat numberFormat = getNumberFormat();
numberFormat.setGroupingUsed(formatToken.flagComma);
result.append(numberFormat.format(arg));
@@ -1897,7 +1897,7 @@ public final class Formatter implements Closeable, Flushable {
formatToken.setPrecision(FormatToken.UNSET);
- if (localeData.decimalPatternChars.charAt(8) == result.charAt(0)) { // MINUS_SIGN
+ if (localeData.minusSign == result.charAt(0)) {
if (formatToken.flagParenthesis) {
return wrapParentheses(result);
}
@@ -1913,7 +1913,7 @@ public final class Formatter implements Closeable, Flushable {
}
char firstChar = result.charAt(0);
- if (formatToken.flagZero && (firstChar == floatUtil.getAddSign() || firstChar == localeData.decimalPatternChars.charAt(8))) { // MINUS_SIGN
+ if (formatToken.flagZero && (firstChar == floatUtil.getAddSign() || firstChar == localeData.minusSign)) {
startIndex = 1;
}
@@ -2097,7 +2097,7 @@ public final class Formatter implements Closeable, Flushable {
private void appendLocalized(StringBuilder result, long value, int width) {
int paddingIndex = result.length();
- char zeroDigit = localeData.decimalPatternChars.charAt(0); // ZERO_DIGIT
+ char zeroDigit = localeData.zeroDigit;
if (zeroDigit == '0') {
result.append(value);
} else {
@@ -2177,7 +2177,7 @@ public final class Formatter implements Closeable, Flushable {
// if the flag is sharp and decimal separator is always given out.
if (formatToken.flagSharp && formatToken.getPrecision() == 0) {
int indexOfE = result.indexOf("e");
- result.insert(indexOfE, localeData.decimalPatternChars.charAt(2)); // DECIMAL_SEPARATOR
+ result.insert(indexOfE, localeData.decimalSeparator);
}
}
@@ -2274,7 +2274,7 @@ public final class Formatter implements Closeable, Flushable {
result.append(decimalFormat.format(argument));
// if the flag is sharp and decimal separator is always given out.
if (formatToken.flagSharp && formatToken.getPrecision() == 0) {
- result.append(localeData.decimalPatternChars.charAt(2)); // DECIMAL_SEPARATOR
+ result.append(localeData.decimalSeparator);
}
}
diff --git a/luni/src/main/java/org/apache/harmony/luni/util/LocaleCache.java b/luni/src/main/java/org/apache/harmony/luni/util/LocaleCache.java
index 7b9957d..98b3f9b 100644
--- a/luni/src/main/java/org/apache/harmony/luni/util/LocaleCache.java
+++ b/luni/src/main/java/org/apache/harmony/luni/util/LocaleCache.java
@@ -18,7 +18,6 @@
package org.apache.harmony.luni.util;
import java.text.NumberFormat;
-import java.text.DecimalFormatSymbols;
import java.util.Locale;
/**