diff options
Diffstat (limited to 'libjava/java/util/SimpleTimeZone.java')
-rw-r--r-- | libjava/java/util/SimpleTimeZone.java | 208 |
1 files changed, 0 insertions, 208 deletions
diff --git a/libjava/java/util/SimpleTimeZone.java b/libjava/java/util/SimpleTimeZone.java deleted file mode 100644 index 64f9c505a50..00000000000 --- a/libjava/java/util/SimpleTimeZone.java +++ /dev/null @@ -1,208 +0,0 @@ -/* Copyright (C) 1998, 1999, 2000 Free Software Foundation - - 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: Does not know how to figure out if daylight savings time - * is in effect; hence only correct for zones without DST. - * No known spec for hashCode. - */ - -public class SimpleTimeZone extends TimeZone -{ - // The fields are as specified in Sun's "Serialized Form" - // in the JDK 1.2 beta 4 API specification. - - int dstSavings = 60 * 60 * 1000; - - int rawOffset; - - // int serialVersionOnStream; - - int startDay; - int startDayOfWeek; - int startMode; /// Seems to be JDK 1.2 only. - - int startMonth; - - int startTime; - - int startYear; - - int endDay; - - int endDayOfWeek; - - int endMode; // Seems to be JDK 1.2 only. - - int endMonth; - - int endTime; - - // byte[] monthLength; - - boolean useDaylight; - - public SimpleTimeZone (int rawOffset, String ID) - { - setID(ID); - this.rawOffset = rawOffset; - } - - public SimpleTimeZone (int rawOffset, String ID, - int startMonth, int startDay, - int startDayOfWeek, int startTime, - int endMonth, int endDay, - int endDayOfWeek, int endTime) - { - this(rawOffset, ID); - setStartRule (startMonth, startDay, startDayOfWeek, startTime); - setEndRule (endMonth, endDay, endDayOfWeek, endTime); - } - - public int getRawOffset() { return rawOffset; } - public void setRawOffset (int offsetMillis) { rawOffset = offsetMillis; } - - public int getOffset (int era, int year, int month, int day, - int dayOfWeek, int millis) - { - int offset = getRawOffset(); - if (useDaylight) - { - if (startYear != 0 - && (year < startYear || era == GregorianCalendar.BC)) - return offset; - boolean midYearSummer = startMonth < endMonth; - if (midYearSummer ? (month < startMonth || month > endMonth) - : (month < startMonth && month > endMonth)) - return offset; // Definitely not DST. - if (midYearSummer ? (month > startMonth && month < endMonth) - : (month > startMonth || month < endMonth)) - return offset + dstSavings; // Definitely DST. - // Now it gets more complicated. Bail for now. - throw new Error("not implemented - SimpleTimeZone.getOffset"); - } - return offset; - } - - public boolean useDaylightTime() { return useDaylight; } - - public boolean inDaylightTime(Date date) - { - if (! useDaylight) - return false; - throw new Error("not implemented - SimpleTimeZone.inDaylightTime"); - } - - public int getDSTSavings () { return dstSavings; } - - public void setDSTSavings (int millisSavedDuringDST) - { dstSavings = millisSavedDuringDST; } - - public void setStartRule (int month, int dayOfWeekInMonth, - int dayOfWeek, int time) - { - this.startMonth = month; - this.startDay = dayOfWeekInMonth; - this.startDayOfWeek = dayOfWeek; - this.startTime = time; - this.useDaylight = true; - } - - public void setEndRule (int month, int dayOfWeekInMonth, - int dayOfWeek, int time) - { - this.endMonth = month; - this.endDay = dayOfWeekInMonth; - this.endDayOfWeek = dayOfWeek; - this.endTime = time; - this.useDaylight = true; - } - - public void setStartYear (int year) - { - this.startYear = startYear; - } - - public boolean hasSameRules (TimeZone other) - { - if (this == other) - return true; - if (! (other instanceof SimpleTimeZone)) - return false; - SimpleTimeZone o = (SimpleTimeZone) other; - if (rawOffset != o.rawOffset) - return false; - if (useDaylight != o.useDaylight) - return false; - if (! useDaylight) - return true; - return startDay == o.startDay - && startDayOfWeek == o.startDayOfWeek - && startMonth == o.startMonth - && startTime == o.startTime - && endDay == o.endDay - && endDayOfWeek == o.endDayOfWeek - && endMonth == o.endMonth - && endTime == o.endTime - && startYear == o.startYear - && startMode == o.startMode - && endMode == o.endMode; - } - - public boolean equals (Object obj) - { - if (! (obj instanceof SimpleTimeZone)) - return false; - SimpleTimeZone other = (SimpleTimeZone) obj; - return getID() == other.getID() && hasSameRules(other); - } - - public Object clone () - { - // We know the superclass just call's Object's generic cloner. - return super.clone (); - } - - public String toString () - { - // The docs don't say much about how we might implement this. - // We choose a debugging implementation. - return ("dstSavings " + dstSavings - + "; rawOffset " + rawOffset - + "; startDay " + startDay - + "; startDayOfWeek " + startDayOfWeek - + "; startMode " + startMode - + "; startMonth " + startMonth - + "; startTime " + startTime - + "; startYear " + startYear - + "; endDay " + endDay - + "; endDayOfWeek " + endDayOfWeek - + "; endMode " + endMode - + "; endMonth " + endMonth - + "; endTime " + endTime - + "; useDaylight " + useDaylight); - } - - public int hashCode () - { - // FIXME - this does not folow any spec (since none is public)! - int hash = rawOffset; - if (useDaylight) - hash += dstSavings + startYear + startMode + endMode - + startDay + startDayOfWeek + startMonth + startTime - + endDay + endDayOfWeek + endMonth + endTime; - return hash; - } -} |