aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/util/SimpleTimeZone.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/util/SimpleTimeZone.java')
-rw-r--r--libjava/java/util/SimpleTimeZone.java208
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;
- }
-}