From 01ce962b942349db572123054f5a352d5c51f222 Mon Sep 17 00:00:00 2001 From: Warren Levy Date: Tue, 10 Oct 2000 23:09:08 +0000 Subject: LocaleData_en.java (monetarySeparator): Added. * gnu/gcj/text/LocaleData_en.java (monetarySeparator): Added. * java/sql/Date.java (serialVersionUID): New field. * java/sql/Time.java (serialVersionUID): New field. * java/sql/Timestamp.java (serialVersionUID): New field. * java/text/ChoiceFormat.java (serialVersionUID): New field. * java/text/DateFormat.java (getDateTimeInstance (int)): Removed. * java/text/DateFormatSymbols.java (serialVersionUID): New field. * java/text/DecimalFormat.java (serialVersionOnStream): New field. (readObject): New serialization method. * java/text/DecimalFormatSymbols.java (monetarySeparator): New field. (serialVersionOnStream): New field. (readObject): New serialization method. (getMonetaryDecimalSeparator): New method. (setMonetaryDecimalSeparator): New method. * java/text/NumberFormat.java (maxFractionDigits): New field. (maxIntegerDigits): New field. (minFractionDigits): New field. (minIntegerDigits): New field. (serialVersionOnStream): New field. (serialVersionUID): New field. (readObject): New serialization method. (writeObject): New serialization method. * java/text/SimpleDateFormat.java (defaultCenturyStart): Initialized. (serialVersionOnStream): New field. (serialVersionUID): New field. (readObject): New serialization method. Serialization mods. From-SVN: r36831 --- libjava/java/text/NumberFormat.java | 43 ++++++++++++++++++++++++++++++++----- 1 file changed, 38 insertions(+), 5 deletions(-) (limited to 'libjava/java/text/NumberFormat.java') diff --git a/libjava/java/text/NumberFormat.java b/libjava/java/text/NumberFormat.java index 3a30010..f3f36e9 100644 --- a/libjava/java/text/NumberFormat.java +++ b/libjava/java/text/NumberFormat.java @@ -11,6 +11,9 @@ package java.text; import java.util.Locale; import java.util.ResourceBundle; import java.util.MissingResourceException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.IOException; /** * @author Tom Tromey @@ -18,8 +21,7 @@ import java.util.MissingResourceException; */ /* Written using "Java Class Libraries", 2nd edition, plus online * API docs for JDK 1.2 from http://www.javasoft.com. - * Status: Believed complete and correct to 1.2, except serialization - * and getAvailableLocales. + * Status: Believed complete and correct to 1.2, except getAvailableLocales. */ public abstract class NumberFormat extends Format implements Cloneable @@ -249,13 +251,44 @@ public abstract class NumberFormat extends Format implements Cloneable } // These field names are fixed by the serialization spec. - // FIXME: serialization spec also mentions `byte' versions of the - // min/max fields. We have no use for those, so for now they are - // omitted. protected boolean groupingUsed; protected int maximumFractionDigits; + private byte maxFractionDigits; protected int maximumIntegerDigits; + private byte maxIntegerDigits; protected int minimumFractionDigits; + private byte minFractionDigits; protected int minimumIntegerDigits; + private byte minIntegerDigits; protected boolean parseIntegerOnly; + private int serialVersionOnStream; + private static final long serialVersionUID = -2308460125733713944L; + + private void readObject(ObjectInputStream stream) + throws IOException, ClassNotFoundException + { + stream.defaultReadObject(); + if (serialVersionOnStream < 1) + { + maximumFractionDigits = maxFractionDigits; + maximumIntegerDigits = maxIntegerDigits; + minimumFractionDigits = minFractionDigits; + minimumIntegerDigits = minIntegerDigits; + serialVersionOnStream = 1; + } + } + + private void writeObject(ObjectOutputStream stream) throws IOException + { + maxFractionDigits = maximumFractionDigits < Byte.MAX_VALUE ? + (byte) maximumFractionDigits : Byte.MAX_VALUE; + maxIntegerDigits = maximumIntegerDigits < Byte.MAX_VALUE ? + (byte) maximumIntegerDigits : Byte.MAX_VALUE; + minFractionDigits = minimumFractionDigits < Byte.MAX_VALUE ? + (byte) minimumFractionDigits : Byte.MAX_VALUE; + minIntegerDigits = minimumIntegerDigits < Byte.MAX_VALUE ? + (byte) minimumIntegerDigits : Byte.MAX_VALUE; + serialVersionOnStream = 1; + stream.defaultWriteObject(); + } } -- cgit v1.1