]> gcc.gnu.org Git - gcc.git/commitdiff
DateFormat.java (computeInstance): Separate time and date styles.
authorAnthony Green <green@cygnus.com>
Sat, 8 May 1999 22:21:50 +0000 (22:21 +0000)
committerAnthony Green <green@gcc.gnu.org>
Sat, 8 May 1999 22:21:50 +0000 (22:21 +0000)
* 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.

From-SVN: r26842

libjava/ChangeLog
libjava/Makefile.am
libjava/Makefile.in
libjava/gnu/gcj/util/EnumerationChain.java [new file with mode: 0644]
libjava/java/text/DateFormat.java
libjava/java/util/PropertyResourceBundle.java [new file with mode: 0644]

index 25ebb0f6b936c5e49fd15734911eedfb069c4e76..d69c05977cd40da5791a020da572ab023dc19083 100644 (file)
@@ -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.
index e3769019d963d6e0a58e12c32ff70a2189452288..260baa15716aea8702679accc249818936ed7d40 100644 (file)
@@ -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 \
index 85310eacc142a70d44d158542705ac939ec10ff6..e45a1e2046a7d4d6029a4adf2bcd6c6098f1b148 100644 (file)
@@ -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 (file)
index 0000000..6828439
--- /dev/null
@@ -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();
+    }
+}
index bfd6b01a777e65b29a98ab064e21a98207011e8d..a84113368c3ec293a7bf5d65aa86ebec18d86274 100644 (file)
@@ -93,6 +93,15 @@ public abstract class DateFormat extends Format implements Cloneable
   private static final DateFormat computeInstance (int style, Locale loc,
                                                   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 (file)
index 0000000..706e427
--- /dev/null
@@ -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);
+    }
+}    
This page took 0.183527 seconds and 5 git commands to generate.