aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorAnthony Green <green@cygnus.com>1999-05-08 22:21:50 +0000
committerAnthony Green <green@cygnus.com>1999-05-08 22:21:50 +0000
commit7ed80cb82d858978a14f6634dcf931a1f7260e52 (patch)
tree9c426e950b4514145123e218f2d88bb529e7d72f /libjava
parent4ab4cdc4493d597a1b2eb4039c20cba0b3de8146 (diff)
* java/text/DateFormat.java (computeInstance): Separate time
and date styles. (getDateTimeInstance): Ditto. (getDateTimeInstance(int,int)): New method. * Makefile.in: Rebuilt. * Makefile.am (ordinary_java_source_files): Add new classes. * java/util/PropertyResourceBundle.java: New file. * gnu/gcj/util/EnumerationChain.java: New file. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@26842 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog13
-rw-r--r--libjava/Makefile.am2
-rw-r--r--libjava/Makefile.in16
-rw-r--r--libjava/gnu/gcj/util/EnumerationChain.java52
-rw-r--r--libjava/java/text/DateFormat.java31
-rw-r--r--libjava/java/util/PropertyResourceBundle.java47
6 files changed, 148 insertions, 13 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 25ebb0f6b93..d69c05977cd 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,16 @@
+1999-05-9 Anthony Green <green@cygnus.com>
+
+ * java/text/DateFormat.java (computeInstance): Separate time
+ and date styles.
+ (getDateTimeInstance): Ditto.
+ (getDateTimeInstance(int,int)): New method.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (ordinary_java_source_files): Add new classes.
+
+ * java/util/PropertyResourceBundle.java: New file.
+ * gnu/gcj/util/EnumerationChain.java: New file.
+
1999-05-07 Tom Tromey <tromey@cygnus.com>
* acconfig.h (GCJVERSION): New undef.
diff --git a/libjava/Makefile.am b/libjava/Makefile.am
index e3769019d96..260baa15716 100644
--- a/libjava/Makefile.am
+++ b/libjava/Makefile.am
@@ -422,6 +422,7 @@ gnu/gcj/protocol/file/Handler.java \
gnu/gcj/protocol/http/Connection.java \
gnu/gcj/protocol/http/Handler.java \
gnu/gcj/RawData.java \
+gnu/gcj/util/EnumerationChain.java \
java/io/BufferedInputStream.java \
java/io/BufferedOutputStream.java \
java/io/BufferedReader.java \
@@ -617,6 +618,7 @@ java/util/NoSuchElementException.java \
java/util/Observable.java \
java/util/Observer.java \
java/util/Properties.java \
+java/util/PropertyResourceBundle.java \
java/util/Random.java \
java/util/ResourceBundle.java \
java/util/SimpleTimeZone.java \
diff --git a/libjava/Makefile.in b/libjava/Makefile.in
index 85310eacc14..e45a1e2046a 100644
--- a/libjava/Makefile.in
+++ b/libjava/Makefile.in
@@ -285,6 +285,7 @@ gnu/gcj/protocol/file/Handler.java \
gnu/gcj/protocol/http/Connection.java \
gnu/gcj/protocol/http/Handler.java \
gnu/gcj/RawData.java \
+gnu/gcj/util/EnumerationChain.java \
java/io/BufferedInputStream.java \
java/io/BufferedOutputStream.java \
java/io/BufferedReader.java \
@@ -480,6 +481,7 @@ java/util/NoSuchElementException.java \
java/util/Observable.java \
java/util/Observer.java \
java/util/Properties.java \
+java/util/PropertyResourceBundle.java \
java/util/Random.java \
java/util/ResourceBundle.java \
java/util/SimpleTimeZone.java \
@@ -671,6 +673,7 @@ DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
.deps/gnu/gcj/text/LocaleData_en_US.P \
.deps/gnu/gcj/text/SentenceBreakIterator.P \
.deps/gnu/gcj/text/WordBreakIterator.P \
+.deps/gnu/gcj/util/EnumerationChain.P \
.deps/java/io/BufferedInputStream.P \
.deps/java/io/BufferedOutputStream.P .deps/java/io/BufferedReader.P \
.deps/java/io/BufferedWriter.P .deps/java/io/ByteArrayInputStream.P \
@@ -809,12 +812,13 @@ DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
.deps/java/util/MissingResourceException.P \
.deps/java/util/NoSuchElementException.P .deps/java/util/Observable.P \
.deps/java/util/Observer.P .deps/java/util/Properties.P \
-.deps/java/util/Random.P .deps/java/util/ResourceBundle.P \
-.deps/java/util/SimpleTimeZone.P .deps/java/util/Stack.P \
-.deps/java/util/StringTokenizer.P .deps/java/util/TimeZone.P \
-.deps/java/util/TooManyListenersException.P .deps/java/util/Vector.P \
-.deps/java/util/zip/Adler32.P .deps/java/util/zip/CRC32.P \
-.deps/java/util/zip/Checksum.P .deps/java/util/zip/Deflater.P \
+.deps/java/util/PropertyResourceBundle.P .deps/java/util/Random.P \
+.deps/java/util/ResourceBundle.P .deps/java/util/SimpleTimeZone.P \
+.deps/java/util/Stack.P .deps/java/util/StringTokenizer.P \
+.deps/java/util/TimeZone.P .deps/java/util/TooManyListenersException.P \
+.deps/java/util/Vector.P .deps/java/util/zip/Adler32.P \
+.deps/java/util/zip/CRC32.P .deps/java/util/zip/Checksum.P \
+.deps/java/util/zip/Deflater.P \
.deps/java/util/zip/DeflaterOutputStream.P \
.deps/java/util/zip/InflaterInputStream.P \
.deps/java/util/zip/ZipConstants.P .deps/java/util/zip/ZipEntry.P \
diff --git a/libjava/gnu/gcj/util/EnumerationChain.java b/libjava/gnu/gcj/util/EnumerationChain.java
new file mode 100644
index 00000000000..6828439d530
--- /dev/null
+++ b/libjava/gnu/gcj/util/EnumerationChain.java
@@ -0,0 +1,52 @@
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package gnu.gcj.util;
+
+import java.util.Enumeration;
+import java.util.NoSuchElementException;
+
+public class EnumerationChain implements Enumeration
+{
+ private Enumeration first_;
+ private Enumeration second_;
+
+ public EnumerationChain (Enumeration first, Enumeration second)
+ {
+ if (first == null
+ || second == null)
+ throw new NullPointerException();
+
+ first_ = first;
+ second_ = second;
+ }
+
+ public synchronized boolean hasMoreElements()
+ {
+ if (first_ == null)
+ return false;
+ else
+ return first_.hasMoreElements();
+ }
+
+ public synchronized Object nextElement() throws NoSuchElementException
+ {
+ while (first_ != null)
+ {
+ if (! first_.hasMoreElements())
+ {
+ first_ = second_;
+ second_ = null;
+ }
+ else
+ return first_.nextElement();
+ }
+
+ throw new NoSuchElementException();
+ }
+}
diff --git a/libjava/java/text/DateFormat.java b/libjava/java/text/DateFormat.java
index bfd6b01a777..a84113368c3 100644
--- a/libjava/java/text/DateFormat.java
+++ b/libjava/java/text/DateFormat.java
@@ -94,6 +94,15 @@ public abstract class DateFormat extends Format implements Cloneable
boolean use_date,
boolean use_time)
{
+ return computeInstance (style, style, loc, use_date, use_time);
+ }
+
+ private static final DateFormat computeInstance (int dateStyle,
+ int timeStyle,
+ Locale loc,
+ boolean use_date,
+ boolean use_time)
+ {
ResourceBundle res;
try
{
@@ -108,7 +117,7 @@ public abstract class DateFormat extends Format implements Cloneable
if (use_date)
{
String name, def;
- switch (style)
+ switch (dateStyle)
{
case FULL:
name = "fullDateFormat";
@@ -147,7 +156,7 @@ public abstract class DateFormat extends Format implements Cloneable
pattern += " ";
String name, def;
- switch (style)
+ switch (timeStyle)
{
case FULL:
name = "fullTimeFormat";
@@ -201,23 +210,31 @@ public abstract class DateFormat extends Format implements Cloneable
public static final DateFormat getDateTimeInstance ()
{
- return getDateTimeInstance (DEFAULT, Locale.getDefault());
+ return getDateTimeInstance (DEFAULT, DEFAULT, Locale.getDefault());
}
public static final DateFormat getDateTimeInstance (int style)
{
- return getDateTimeInstance (style, Locale.getDefault());
+ return getDateTimeInstance (style, style, Locale.getDefault());
+ }
+
+ public static final DateFormat getDateTimeInstance (int dateStyle,
+ int timeStyle)
+ {
+ return getDateTimeInstance (dateStyle, timeStyle, Locale.getDefault());
}
- public static final DateFormat getDateTimeInstance (int style, Locale loc)
+ public static final DateFormat getDateTimeInstance (int dateStyle,
+ int timeStyle,
+ Locale loc)
{
- return computeInstance (style, loc, true, true);
+ return computeInstance (dateStyle, timeStyle, loc, true, true);
}
public static final DateFormat getInstance ()
{
// JCL book says SHORT.
- return getDateTimeInstance (SHORT, Locale.getDefault());
+ return getDateTimeInstance (SHORT, SHORT, Locale.getDefault());
}
public NumberFormat getNumberFormat ()
diff --git a/libjava/java/util/PropertyResourceBundle.java b/libjava/java/util/PropertyResourceBundle.java
new file mode 100644
index 00000000000..706e4279443
--- /dev/null
+++ b/libjava/java/util/PropertyResourceBundle.java
@@ -0,0 +1,47 @@
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util;
+
+import java.io.InputStream;
+import java.io.IOException;
+import gnu.gcj.util.EnumerationChain;
+
+/**
+ * @author Anthony Green <green@cygnus.com>
+ * @date April 29, 1999.
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3,
+ * and "The Java Language Specification", ISBN 0-201-63451-1. */
+
+public class PropertyResourceBundle extends ResourceBundle
+{
+ private Properties properties;
+
+ public PropertyResourceBundle (InputStream pstream) throws IOException
+ {
+ // Initialize and load our Properties.
+ properties = new Properties();
+ properties.load(pstream);
+ }
+
+ public Enumeration getKeys()
+ {
+ if (parent == null)
+ return properties.propertyNames();
+ else
+ return new EnumerationChain (properties.propertyNames(),
+ parent.getKeys ());
+ }
+
+ protected Object handleGetObject (String key)
+ {
+ return properties.getProperty(key);
+ }
+}