summaryrefslogtreecommitdiff
path: root/libjava/java/util/TimeZone.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/util/TimeZone.java')
-rw-r--r--libjava/java/util/TimeZone.java120
1 files changed, 120 insertions, 0 deletions
diff --git a/libjava/java/util/TimeZone.java b/libjava/java/util/TimeZone.java
new file mode 100644
index 00000000000..ad2dd628b1f
--- /dev/null
+++ b/libjava/java/util/TimeZone.java
@@ -0,0 +1,120 @@
+/* Copyright (C) 1998, 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;
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date October 24, 1998.
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3.
+ * Status: getAvailableIDs, getDefault, getTimeZone only know about GMT.
+ */
+
+public abstract class TimeZone implements java.io.Serializable, Cloneable
+{
+ public static final int SHORT = 0;
+ public static final int LONG = 1;
+
+ // The fields are as specified in Sun's "Serialized Form"
+ // in the JDK 1.2 beta 4 API specification.
+ String ID;
+
+ static final TimeZone zoneGMT = new SimpleTimeZone(0, "GMT");
+
+ private static TimeZone zoneDefault;
+
+ public TimeZone ()
+ {
+ }
+
+ public abstract int getOffset (int era, int year, int month,
+ int day, int dayOfWeek, int milliseconds);
+
+ public abstract void setRawOffset (int offsetMillis);
+
+ public abstract int getRawOffset ();
+
+ public String getID () { return ID; }
+
+ public void setID (String ID) { this.ID = ID; }
+
+ public final String getDisplayName()
+ {
+ return ID; // FIXME
+ }
+
+ // public final String getDisplayName (Local locale) { ... } FIXME
+
+ public final String getDisplayName (boolean daylight, int style)
+ {
+ return ID; // FIXME
+ }
+
+ /*
+ public final String getDisplayName (boolean daylight, int style, Locale locale)
+ {
+ return ID; // FIXME
+ }
+ */
+
+ public abstract boolean useDaylightTime();
+
+ public abstract boolean inDaylightTime (Date date);
+
+ public static TimeZone getTimeZone (String ID)
+ {
+ return zoneGMT; // FIXME
+ }
+
+ public static String[] getAvailableIDs()
+ { // FIXME - only knows about GMT
+ String[] zones = new String[1];
+ zones[0] = "GMT";
+ return zones;
+ }
+
+ public static String[] getAvailableIDs(int rawOffset)
+ {
+ return rawOffset == 0 ? getAvailableIDs() : new String[0]; // FIXME
+ }
+
+ private static synchronized TimeZone setDefault()
+ {
+ if (zoneDefault == null)
+ {
+ try
+ {
+ String id = System.getProperty("user.timezone");
+ if (id != null && ! id.equals("GMT"))
+ zoneDefault = getTimeZone(id);
+ }
+ catch (Exception ex)
+ {
+ }
+ if (zoneDefault == null)
+ zoneDefault = zoneGMT;
+ }
+ return zoneDefault;
+ }
+
+ public static TimeZone getDefault()
+ {
+ return zoneDefault == null ? setDefault() : zoneDefault;
+ }
+
+ public static void setDefault (TimeZone zone) { zoneDefault = zone; }
+
+ public boolean hasSameRules (TimeZone other)
+ {
+ return this == other;
+ }
+
+ // public Object clone ();
+}