diff options
Diffstat (limited to 'libjava/java/util/TimeZone.java')
-rw-r--r-- | libjava/java/util/TimeZone.java | 120 |
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 (); +} |