harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From telli...@apache.org
Subject svn commit: r601315 [7/11] - in /harmony/enhanced/classlib/branches/java6: depends/build/ modules/accessibility/src/main/java/javax/accessibility/ modules/accessibility/src/test/api/java/common/javax/accessibility/ modules/awt/src/main/java/common/java...
Date Wed, 05 Dec 2007 12:26:14 GMT
Modified: harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/util/SimpleTimeZone.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/util/SimpleTimeZone.java?rev=601315&r1=601314&r2=601315&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/util/SimpleTimeZone.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/util/SimpleTimeZone.java Wed Dec  5 04:25:42 2007
@@ -32,537 +32,539 @@
  * @see TimeZone
  */
 public class SimpleTimeZone extends TimeZone {
-	
-	private static final long serialVersionUID = -403250971215465050L;
 
-	private int rawOffset;
+    private static final long serialVersionUID = -403250971215465050L;
 
-	private int startYear, startMonth, startDay, startDayOfWeek, startTime;
+    private int rawOffset;
 
-	private int endMonth, endDay, endDayOfWeek, endTime;
+    private int startYear, startMonth, startDay, startDayOfWeek, startTime;
 
-	private int startMode, endMode;
-
-	private static final int DOM_MODE = 1, DOW_IN_MONTH_MODE = 2,
-			DOW_GE_DOM_MODE = 3, DOW_LE_DOM_MODE = 4;
-
-	/* Constant for representing start or end time in GMT time mode. */
-	public static final int UTC_TIME = 2;
-
-	/*
-	 * Constant for representing start or end time in standard local time mode,
-	 * based on timezone's raw offset from GMT, does not include Daylight
-	 * savings.
-	 */
-	public static final int STANDARD_TIME = 1;
-
-	/*
-	 * Constant for representing start or end time in local wall clock time
-	 * mode, based on timezone's adjusted offset from GMT, it does include
-	 * Daylight savings.
-	 */
-	public static final int WALL_TIME = 0;
-
-	private boolean useDaylight;
-
-	private GregorianCalendar daylightSavings;
-
-	private int dstSavings = 3600000;
-
-	/**
-	 * Constructs a new SimpleTimeZone using the specified offset for standard
-	 * time from GMT and the specified time zone ID.
-	 * 
-	 * @param offset
-	 *            the offset from GMT of standard time in milliseconds
-	 * @param name
-	 *            the time zone ID
-	 */
-	public SimpleTimeZone(int offset, String name) {
-		setID(name);
-		rawOffset = offset;
-	}
-
-	/**
-	 * Constructs a new SimpleTimeZone using the specified offset for standard
-	 * time from GMT, the specified time zone ID and the rules for daylight
-	 * savings time.
-	 * 
-	 * @param offset
-	 *            the offset from GMT of standard time in milliseconds
-	 * @param name
-	 *            the time zone ID
-	 * @param startMonth
-	 *            the Calendar month in which daylight savings time starts
-	 * @param startDay
-	 *            the occurrence of the day of the week on which daylight
-	 *            savings time starts
-	 * @param startDayOfWeek
-	 *            the Calendar day of the week on which daylight savings time
-	 *            starts
-	 * @param startTime
-	 *            the time of day in milliseconds on which daylight savings time
-	 *            starts
-	 * @param endMonth
-	 *            the Calendar month in which daylight savings time ends
-	 * @param endDay
-	 *            the occurrence of the day of the week on which daylight
-	 *            savings time ends
-	 * @param endDayOfWeek
-	 *            the Calendar day of the week on which daylight savings time
-	 *            ends
-	 * @param endTime
-	 *            the time of day in milliseconds standard time on which
-	 *            daylight savings time ends
-	 */
-	public SimpleTimeZone(int offset, String name, int startMonth,
-			int startDay, int startDayOfWeek, int startTime, int endMonth,
-			int endDay, int endDayOfWeek, int endTime) {
-		this(offset, name, startMonth, startDay, startDayOfWeek, startTime,
-				endMonth, endDay, endDayOfWeek, endTime, 3600000);
-	}
-
-	/**
-	 * Constructs a new SimpleTimeZone using the specified offset for standard
-	 * time from GMT, the specified time zone ID and the rules for daylight
-	 * savings time.
-	 * 
-	 * @param offset
-	 *            the offset from GMT of standard time in milliseconds
-	 * @param name
-	 *            the time zone ID
-	 * @param startMonth
-	 *            the Calendar month in which daylight savings time starts
-	 * @param startDay
-	 *            the occurrence of the day of the week on which daylight
-	 *            savings time starts
-	 * @param startDayOfWeek
-	 *            the Calendar day of the week on which daylight savings time
-	 *            starts
-	 * @param startTime
-	 *            the time of day in milliseconds on which daylight savings time
-	 *            starts
-	 * @param endMonth
-	 *            the Calendar month in which daylight savings time ends
-	 * @param endDay
-	 *            the occurrence of the day of the week on which daylight
-	 *            savings time ends
-	 * @param endDayOfWeek
-	 *            the Calendar day of the week on which daylight savings time
-	 *            ends
-	 * @param endTime
-	 *            the time of day in milliseconds standard time on which
-	 *            daylight savings time ends
-	 * @param daylightSavings
-	 *            the daylight savings time difference in milliseconds
-	 */
-	public SimpleTimeZone(int offset, String name, int startMonth,
-			int startDay, int startDayOfWeek, int startTime, int endMonth,
-			int endDay, int endDayOfWeek, int endTime, int daylightSavings) {
-		this(offset, name);
-		if (daylightSavings <= 0) {
-            throw new IllegalArgumentException(Msg.getString("K00e9", daylightSavings)); //$NON-NLS-1$
-        }
-		dstSavings = daylightSavings;
-
-		setStartRule(startMonth, startDay, startDayOfWeek, startTime);
-		setEndRule(endMonth, endDay, endDayOfWeek, endTime);
-	}
-
-	/**
-	 * Constructs a new SimpleTimeZone using the specified offset for standard
-	 * time from GMT, the specified time zone ID, the rules for daylight savings
-	 * time, and the modes indicating UTC, standard, or wall time.
-	 * 
-	 * @param offset
-	 *            the offset from GMT of standard time in milliseconds
-	 * @param name
-	 *            the time zone ID
-	 * @param startMonth
-	 *            the Calendar month in which daylight savings time starts
-	 * @param startDay
-	 *            the occurrence of the day of the week on which daylight
-	 *            savings time starts
-	 * @param startDayOfWeek
-	 *            the Calendar day of the week on which daylight savings time
-	 *            starts
-	 * @param startTime
-	 *            the time of day in milliseconds on which daylight savings time
-	 *            starts
-	 * @param startTimeMode
-	 *            the mode (UTC, standard, or wall time) of the start time value
-	 * @param endMonth
-	 *            the Calendar month in which daylight savings time ends
-	 * @param endDay
-	 *            the occurrence of the day of the week on which daylight
-	 *            savings time ends
-	 * @param endDayOfWeek
-	 *            the Calendar day of the week on which daylight savings time
-	 *            ends
-	 * @param endTime
-	 *            the time of day in milliseconds standard time on which
-	 *            daylight savings time ends
-	 * @param endTimeMode
-	 *            the mode (UTC, standard, or wall time) of the end time value
-	 * @param daylightSavings
-	 *            the daylight savings time difference in milliseconds
-	 */
-	public SimpleTimeZone(int offset, String name, int startMonth,
-			int startDay, int startDayOfWeek, int startTime, int startTimeMode,
-			int endMonth, int endDay, int endDayOfWeek, int endTime,
-			int endTimeMode, int daylightSavings) {
-
-		this(offset, name, startMonth, startDay, startDayOfWeek, startTime,
-				endMonth, endDay, endDayOfWeek, endTime, daylightSavings);
-		startMode = startTimeMode;
-		endMode = endTimeMode;
-	}
-
-	/**
-	 * Answers a new SimpleTimeZone with the same ID, rawOffset and daylight
-	 * savings time rules as this SimpleTimeZone.
-	 * 
-	 * @return a shallow copy of this SimpleTimeZone
-	 * 
-	 * @see java.lang.Cloneable
-	 */
-	@Override
+    private int endMonth, endDay, endDayOfWeek, endTime;
+
+    private int startMode, endMode;
+
+    private static final int DOM_MODE = 1, DOW_IN_MONTH_MODE = 2,
+            DOW_GE_DOM_MODE = 3, DOW_LE_DOM_MODE = 4;
+
+    /* Constant for representing start or end time in GMT time mode. */
+    public static final int UTC_TIME = 2;
+
+    /*
+     * Constant for representing start or end time in standard local time mode,
+     * based on timezone's raw offset from GMT, does not include Daylight
+     * savings.
+     */
+    public static final int STANDARD_TIME = 1;
+
+    /*
+     * Constant for representing start or end time in local wall clock time
+     * mode, based on timezone's adjusted offset from GMT, it does include
+     * Daylight savings.
+     */
+    public static final int WALL_TIME = 0;
+
+    private boolean useDaylight;
+
+    private GregorianCalendar daylightSavings;
+
+    private int dstSavings = 3600000;
+
+    /**
+     * Constructs a new SimpleTimeZone using the specified offset for standard
+     * time from GMT and the specified time zone ID.
+     * 
+     * @param offset
+     *            the offset from GMT of standard time in milliseconds
+     * @param name
+     *            the time zone ID
+     */
+    public SimpleTimeZone(int offset, String name) {
+        setID(name);
+        rawOffset = offset;
+    }
+
+    /**
+     * Constructs a new SimpleTimeZone using the specified offset for standard
+     * time from GMT, the specified time zone ID and the rules for daylight
+     * savings time.
+     * 
+     * @param offset
+     *            the offset from GMT of standard time in milliseconds
+     * @param name
+     *            the time zone ID
+     * @param startMonth
+     *            the Calendar month in which daylight savings time starts
+     * @param startDay
+     *            the occurrence of the day of the week on which daylight
+     *            savings time starts
+     * @param startDayOfWeek
+     *            the Calendar day of the week on which daylight savings time
+     *            starts
+     * @param startTime
+     *            the time of day in milliseconds on which daylight savings time
+     *            starts
+     * @param endMonth
+     *            the Calendar month in which daylight savings time ends
+     * @param endDay
+     *            the occurrence of the day of the week on which daylight
+     *            savings time ends
+     * @param endDayOfWeek
+     *            the Calendar day of the week on which daylight savings time
+     *            ends
+     * @param endTime
+     *            the time of day in milliseconds standard time on which
+     *            daylight savings time ends
+     */
+    public SimpleTimeZone(int offset, String name, int startMonth,
+            int startDay, int startDayOfWeek, int startTime, int endMonth,
+            int endDay, int endDayOfWeek, int endTime) {
+        this(offset, name, startMonth, startDay, startDayOfWeek, startTime,
+                endMonth, endDay, endDayOfWeek, endTime, 3600000);
+    }
+
+    /**
+     * Constructs a new SimpleTimeZone using the specified offset for standard
+     * time from GMT, the specified time zone ID and the rules for daylight
+     * savings time.
+     * 
+     * @param offset
+     *            the offset from GMT of standard time in milliseconds
+     * @param name
+     *            the time zone ID
+     * @param startMonth
+     *            the Calendar month in which daylight savings time starts
+     * @param startDay
+     *            the occurrence of the day of the week on which daylight
+     *            savings time starts
+     * @param startDayOfWeek
+     *            the Calendar day of the week on which daylight savings time
+     *            starts
+     * @param startTime
+     *            the time of day in milliseconds on which daylight savings time
+     *            starts
+     * @param endMonth
+     *            the Calendar month in which daylight savings time ends
+     * @param endDay
+     *            the occurrence of the day of the week on which daylight
+     *            savings time ends
+     * @param endDayOfWeek
+     *            the Calendar day of the week on which daylight savings time
+     *            ends
+     * @param endTime
+     *            the time of day in milliseconds standard time on which
+     *            daylight savings time ends
+     * @param daylightSavings
+     *            the daylight savings time difference in milliseconds
+     */
+    public SimpleTimeZone(int offset, String name, int startMonth,
+            int startDay, int startDayOfWeek, int startTime, int endMonth,
+            int endDay, int endDayOfWeek, int endTime, int daylightSavings) {
+        this(offset, name);
+        if (daylightSavings <= 0) {
+            throw new IllegalArgumentException(Msg.getString(
+                    "K00e9", daylightSavings)); //$NON-NLS-1$
+        }
+        dstSavings = daylightSavings;
+
+        setStartRule(startMonth, startDay, startDayOfWeek, startTime);
+        setEndRule(endMonth, endDay, endDayOfWeek, endTime);
+    }
+
+    /**
+     * Constructs a new SimpleTimeZone using the specified offset for standard
+     * time from GMT, the specified time zone ID, the rules for daylight savings
+     * time, and the modes indicating UTC, standard, or wall time.
+     * 
+     * @param offset
+     *            the offset from GMT of standard time in milliseconds
+     * @param name
+     *            the time zone ID
+     * @param startMonth
+     *            the Calendar month in which daylight savings time starts
+     * @param startDay
+     *            the occurrence of the day of the week on which daylight
+     *            savings time starts
+     * @param startDayOfWeek
+     *            the Calendar day of the week on which daylight savings time
+     *            starts
+     * @param startTime
+     *            the time of day in milliseconds on which daylight savings time
+     *            starts
+     * @param startTimeMode
+     *            the mode (UTC, standard, or wall time) of the start time value
+     * @param endMonth
+     *            the Calendar month in which daylight savings time ends
+     * @param endDay
+     *            the occurrence of the day of the week on which daylight
+     *            savings time ends
+     * @param endDayOfWeek
+     *            the Calendar day of the week on which daylight savings time
+     *            ends
+     * @param endTime
+     *            the time of day in milliseconds standard time on which
+     *            daylight savings time ends
+     * @param endTimeMode
+     *            the mode (UTC, standard, or wall time) of the end time value
+     * @param daylightSavings
+     *            the daylight savings time difference in milliseconds
+     */
+    public SimpleTimeZone(int offset, String name, int startMonth,
+            int startDay, int startDayOfWeek, int startTime, int startTimeMode,
+            int endMonth, int endDay, int endDayOfWeek, int endTime,
+            int endTimeMode, int daylightSavings) {
+
+        this(offset, name, startMonth, startDay, startDayOfWeek, startTime,
+                endMonth, endDay, endDayOfWeek, endTime, daylightSavings);
+        startMode = startTimeMode;
+        endMode = endTimeMode;
+    }
+
+    /**
+     * Answers a new SimpleTimeZone with the same ID, rawOffset and daylight
+     * savings time rules as this SimpleTimeZone.
+     * 
+     * @return a shallow copy of this SimpleTimeZone
+     * 
+     * @see java.lang.Cloneable
+     */
+    @Override
     public Object clone() {
-		SimpleTimeZone zone = (SimpleTimeZone) super.clone();
-		if (daylightSavings != null) {
+        SimpleTimeZone zone = (SimpleTimeZone) super.clone();
+        if (daylightSavings != null) {
             zone.daylightSavings = (GregorianCalendar) daylightSavings.clone();
         }
-		return zone;
-	}
+        return zone;
+    }
 
-	/**
-	 * Compares the specified object to this SimpleTimeZone and answer if they
-	 * are equal. The object must be an instance of SimpleTimeZone and have the
-	 * same properties.
-	 * 
-	 * @param object
-	 *            the object to compare with this object
-	 * @return true if the specified object is equal to this SimpleTimeZone,
-	 *         false otherwise
-	 * 
-	 * @see #hashCode
-	 */
-	@Override
+    /**
+     * Compares the specified object to this SimpleTimeZone and answer if they
+     * are equal. The object must be an instance of SimpleTimeZone and have the
+     * same properties.
+     * 
+     * @param object
+     *            the object to compare with this object
+     * @return true if the specified object is equal to this SimpleTimeZone,
+     *         false otherwise
+     * 
+     * @see #hashCode
+     */
+    @Override
     public boolean equals(Object object) {
-		if (!(object instanceof SimpleTimeZone)) {
+        if (!(object instanceof SimpleTimeZone)) {
             return false;
         }
-		SimpleTimeZone tz = (SimpleTimeZone) object;
-		return getID().equals(tz.getID())
-				&& rawOffset == tz.rawOffset
-				&& useDaylight == tz.useDaylight
-				&& (!useDaylight || (startYear == tz.startYear
-						&& startMonth == tz.startMonth
-						&& startDay == tz.startDay && startMode == tz.startMode
-						&& startDayOfWeek == tz.startDayOfWeek
-						&& startTime == tz.startTime && endMonth == tz.endMonth
-						&& endDay == tz.endDay
-						&& endDayOfWeek == tz.endDayOfWeek
-						&& endTime == tz.endTime && endMode == tz.endMode && dstSavings == tz.dstSavings));
-	}
-
-	/**
-	 * Gets the daylight savings offset in milliseconds for this SimpleTimeZone.
-	 * 
-	 * If this SimpleTimezone does not observe daylight savings, returns 0.
-	 * 
-	 * @return the daylight savings offset in milliseconds
-	 */
-	@Override
+        SimpleTimeZone tz = (SimpleTimeZone) object;
+        return getID().equals(tz.getID())
+                && rawOffset == tz.rawOffset
+                && useDaylight == tz.useDaylight
+                && (!useDaylight || (startYear == tz.startYear
+                        && startMonth == tz.startMonth
+                        && startDay == tz.startDay && startMode == tz.startMode
+                        && startDayOfWeek == tz.startDayOfWeek
+                        && startTime == tz.startTime && endMonth == tz.endMonth
+                        && endDay == tz.endDay
+                        && endDayOfWeek == tz.endDayOfWeek
+                        && endTime == tz.endTime && endMode == tz.endMode && dstSavings == tz.dstSavings));
+    }
+
+    /**
+     * Gets the daylight savings offset in milliseconds for this SimpleTimeZone.
+     * 
+     * If this SimpleTimezone does not observe daylight savings, returns 0.
+     * 
+     * @return the daylight savings offset in milliseconds
+     */
+    @Override
     public int getDSTSavings() {
-		if (!useDaylight) {
+        if (!useDaylight) {
             return 0;
         }
-		return dstSavings;
-	}
+        return dstSavings;
+    }
 
-	/**
-	 * Gets the offset from GMT of this SimpleTimeZone for the specified date
-	 * and time. The offset includes daylight savings time if the specified date
-	 * and time are within the daylight savings time period.
-	 * 
-	 * @param era
-	 *            the GregorianCalendar era, either GregorianCalendar.BC or
-	 *            GregorianCalendar.AD
-	 * @param year
-	 *            the year
-	 * @param month
-	 *            the Calendar month
-	 * @param day
-	 *            the day of the month
-	 * @param dayOfWeek
-	 *            the Calendar day of the week
-	 * @param time
-	 *            the time of day in milliseconds
-	 * @return the offset from GMT in milliseconds
-	 */
-	@Override
+    /**
+     * Gets the offset from GMT of this SimpleTimeZone for the specified date
+     * and time. The offset includes daylight savings time if the specified date
+     * and time are within the daylight savings time period.
+     * 
+     * @param era
+     *            the GregorianCalendar era, either GregorianCalendar.BC or
+     *            GregorianCalendar.AD
+     * @param year
+     *            the year
+     * @param month
+     *            the Calendar month
+     * @param day
+     *            the day of the month
+     * @param dayOfWeek
+     *            the Calendar day of the week
+     * @param time
+     *            the time of day in milliseconds
+     * @return the offset from GMT in milliseconds
+     */
+    @Override
     public int getOffset(int era, int year, int month, int day, int dayOfWeek,
-			int time) {
-		if (era != GregorianCalendar.BC && era != GregorianCalendar.AD) {
+            int time) {
+        if (era != GregorianCalendar.BC && era != GregorianCalendar.AD) {
             throw new IllegalArgumentException(Msg.getString("K00ea", era)); //$NON-NLS-1$
         }
-		checkRange(month, dayOfWeek, time);
-		if (month != Calendar.FEBRUARY || day != 29 || !isLeapYear(year)) {
+        checkRange(month, dayOfWeek, time);
+        if (month != Calendar.FEBRUARY || day != 29 || !isLeapYear(year)) {
             checkDay(month, day);
         }
 
-		if (!useDaylightTime() || era != GregorianCalendar.AD
-				|| year < startYear) {
+        if (!useDaylightTime() || era != GregorianCalendar.AD
+                || year < startYear) {
             return rawOffset;
         }
-		if (endMonth < startMonth) {
-			if (month > endMonth && month < startMonth) {
+        if (endMonth < startMonth) {
+            if (month > endMonth && month < startMonth) {
                 return rawOffset;
             }
-		} else {
-			if (month < startMonth || month > endMonth) {
+        } else {
+            if (month < startMonth || month > endMonth) {
                 return rawOffset;
             }
-		}
+        }
 
-		int ruleDay = 0, daysInMonth, firstDayOfMonth = mod7(dayOfWeek - day);
-		if (month == startMonth) {
-			switch (startMode) {
-			case DOM_MODE:
-				ruleDay = startDay;
-				break;
-			case DOW_IN_MONTH_MODE:
-				if (startDay >= 0) {
-					ruleDay = mod7(startDayOfWeek - firstDayOfMonth) + 1
-							+ (startDay - 1) * 7;
-				} else {
-					daysInMonth = GregorianCalendar.DaysInMonth[startMonth];
-					if (startMonth == Calendar.FEBRUARY && isLeapYear(year)) {
+        int ruleDay = 0, daysInMonth, firstDayOfMonth = mod7(dayOfWeek - day);
+        if (month == startMonth) {
+            switch (startMode) {
+            case DOM_MODE:
+                ruleDay = startDay;
+                break;
+            case DOW_IN_MONTH_MODE:
+                if (startDay >= 0) {
+                    ruleDay = mod7(startDayOfWeek - firstDayOfMonth) + 1
+                            + (startDay - 1) * 7;
+                } else {
+                    daysInMonth = GregorianCalendar.DaysInMonth[startMonth];
+                    if (startMonth == Calendar.FEBRUARY && isLeapYear(year)) {
                         daysInMonth += 1;
                     }
-					ruleDay = daysInMonth
-							+ 1
-							+ mod7(startDayOfWeek
-									- (firstDayOfMonth + daysInMonth))
-							+ startDay * 7;
-				}
-				break;
-			case DOW_GE_DOM_MODE:
-				ruleDay = startDay
-						+ mod7(startDayOfWeek
-								- (firstDayOfMonth + startDay - 1));
-				break;
-			case DOW_LE_DOM_MODE:
-				ruleDay = startDay
-						+ mod7(startDayOfWeek
-								- (firstDayOfMonth + startDay - 1));
-				if (ruleDay != startDay) {
+                    ruleDay = daysInMonth
+                            + 1
+                            + mod7(startDayOfWeek
+                                    - (firstDayOfMonth + daysInMonth))
+                            + startDay * 7;
+                }
+                break;
+            case DOW_GE_DOM_MODE:
+                ruleDay = startDay
+                        + mod7(startDayOfWeek
+                                - (firstDayOfMonth + startDay - 1));
+                break;
+            case DOW_LE_DOM_MODE:
+                ruleDay = startDay
+                        + mod7(startDayOfWeek
+                                - (firstDayOfMonth + startDay - 1));
+                if (ruleDay != startDay) {
                     ruleDay -= 7;
                 }
-				break;
-			}
-			if (ruleDay > day || ruleDay == day && time < startTime) {
+                break;
+            }
+            if (ruleDay > day || ruleDay == day && time < startTime) {
                 return rawOffset;
             }
-		}
+        }
 
-		int ruleTime = endTime - dstSavings;
-		int nextMonth = (month + 1) % 12;
-		if (month == endMonth || (ruleTime < 0 && nextMonth == endMonth)) {
-			switch (endMode) {
-			case DOM_MODE:
-				ruleDay = endDay;
-				break;
-			case DOW_IN_MONTH_MODE:
-				if (endDay >= 0) {
-					ruleDay = mod7(endDayOfWeek - firstDayOfMonth) + 1
-							+ (endDay - 1) * 7;
-				} else {
-					daysInMonth = GregorianCalendar.DaysInMonth[endMonth];
-					if (endMonth == Calendar.FEBRUARY && isLeapYear(year)) {
+        int ruleTime = endTime - dstSavings;
+        int nextMonth = (month + 1) % 12;
+        if (month == endMonth || (ruleTime < 0 && nextMonth == endMonth)) {
+            switch (endMode) {
+            case DOM_MODE:
+                ruleDay = endDay;
+                break;
+            case DOW_IN_MONTH_MODE:
+                if (endDay >= 0) {
+                    ruleDay = mod7(endDayOfWeek - firstDayOfMonth) + 1
+                            + (endDay - 1) * 7;
+                } else {
+                    daysInMonth = GregorianCalendar.DaysInMonth[endMonth];
+                    if (endMonth == Calendar.FEBRUARY && isLeapYear(year)) {
                         daysInMonth++;
                     }
-					ruleDay = daysInMonth
-							+ 1
-							+ mod7(endDayOfWeek
-									- (firstDayOfMonth + daysInMonth)) + endDay
-							* 7;
-				}
-				break;
-			case DOW_GE_DOM_MODE:
-				ruleDay = endDay
-						+ mod7(endDayOfWeek - (firstDayOfMonth + endDay - 1));
-				break;
-			case DOW_LE_DOM_MODE:
-				ruleDay = endDay
-						+ mod7(endDayOfWeek - (firstDayOfMonth + endDay - 1));
-				if (ruleDay != endDay) {
+                    ruleDay = daysInMonth
+                            + 1
+                            + mod7(endDayOfWeek
+                                    - (firstDayOfMonth + daysInMonth)) + endDay
+                            * 7;
+                }
+                break;
+            case DOW_GE_DOM_MODE:
+                ruleDay = endDay
+                        + mod7(endDayOfWeek - (firstDayOfMonth + endDay - 1));
+                break;
+            case DOW_LE_DOM_MODE:
+                ruleDay = endDay
+                        + mod7(endDayOfWeek - (firstDayOfMonth + endDay - 1));
+                if (ruleDay != endDay) {
                     ruleDay -= 7;
                 }
-				break;
-			}
+                break;
+            }
 
-			int ruleMonth = endMonth;
-			if (ruleTime < 0) {
-				int changeDays = 1 - (ruleTime / 86400000);
-				ruleTime = (ruleTime % 86400000) + 86400000;
-				ruleDay -= changeDays;
-				if (ruleDay <= 0) {
-					if (--ruleMonth < Calendar.JANUARY) {
+            int ruleMonth = endMonth;
+            if (ruleTime < 0) {
+                int changeDays = 1 - (ruleTime / 86400000);
+                ruleTime = (ruleTime % 86400000) + 86400000;
+                ruleDay -= changeDays;
+                if (ruleDay <= 0) {
+                    if (--ruleMonth < Calendar.JANUARY) {
                         ruleMonth = Calendar.DECEMBER;
                     }
-					ruleDay += GregorianCalendar.DaysInMonth[ruleMonth];
-					if (ruleMonth == Calendar.FEBRUARY && isLeapYear(year)) {
+                    ruleDay += GregorianCalendar.DaysInMonth[ruleMonth];
+                    if (ruleMonth == Calendar.FEBRUARY && isLeapYear(year)) {
                         ruleDay++;
                     }
-				}
-			}
+                }
+            }
 
-			if (month == ruleMonth) {
-				if (ruleDay < day || ruleDay == day && time >= ruleTime) {
+            if (month == ruleMonth) {
+                if (ruleDay < day || ruleDay == day && time >= ruleTime) {
                     return rawOffset;
                 }
-			} else if (nextMonth != ruleMonth) {
+            } else if (nextMonth != ruleMonth) {
                 return rawOffset;
             }
-		}
-		return rawOffset + dstSavings;
-	}
-
-	/**
-	 * Gets the offset from GMT of this SimpleTimeZone for the specified date.
-	 * The offset includes daylight savings time if the specified date is within
-	 * the daylight savings time period.
-	 * 
-	 * @param time
-	 *            the date in milliseconds since January 1, 1970 00:00:00 GMT
-	 * @return the offset from GMT in milliseconds
-	 */
-	@Override
+        }
+        return rawOffset + dstSavings;
+    }
+
+    /**
+     * Gets the offset from GMT of this SimpleTimeZone for the specified date.
+     * The offset includes daylight savings time if the specified date is within
+     * the daylight savings time period.
+     * 
+     * @param time
+     *            the date in milliseconds since January 1, 1970 00:00:00 GMT
+     * @return the offset from GMT in milliseconds
+     */
+    @Override
     public int getOffset(long time) {
-		if (!useDaylightTime()) {
+        if (!useDaylightTime()) {
             return rawOffset;
         }
-		if (daylightSavings == null) {
+        if (daylightSavings == null) {
             daylightSavings = new GregorianCalendar(this);
         }
-		return daylightSavings.getOffset(time + rawOffset);
-	}
+        return daylightSavings.getOffset(time + rawOffset);
+    }
 
-	/**
-	 * Gets the offset for standard time from GMT for this SimpleTimeZone.
-	 * 
-	 * @return the offset from GMT of standard time in milliseconds
-	 */
-	@Override
+    /**
+     * Gets the offset for standard time from GMT for this SimpleTimeZone.
+     * 
+     * @return the offset from GMT of standard time in milliseconds
+     */
+    @Override
     public int getRawOffset() {
-		return rawOffset;
-	}
+        return rawOffset;
+    }
 
-	/**
-	 * Answers an integer hash code for the receiver. Objects which are equal
-	 * answer the same value for this method.
-	 * 
-	 * @return the receiver's hash
-	 * 
-	 * @see #equals
-	 */
-	@Override
+    /**
+     * Answers an integer hash code for the receiver. Objects which are equal
+     * answer the same value for this method.
+     * 
+     * @return the receiver's hash
+     * 
+     * @see #equals
+     */
+    @Override
     public synchronized int hashCode() {
-		int hashCode = getID().hashCode() + rawOffset;
-		if (useDaylight) {
+        int hashCode = getID().hashCode() + rawOffset;
+        if (useDaylight) {
             hashCode += startYear + startMonth + startDay + startDayOfWeek
-					+ startTime + startMode + endMonth + endDay + endDayOfWeek
-					+ endTime + endMode + dstSavings;
+                    + startTime + startMode + endMonth + endDay + endDayOfWeek
+                    + endTime + endMode + dstSavings;
         }
-		return hashCode;
-	}
+        return hashCode;
+    }
 
-	/**
-	 * Answers if the specified TimeZone has the same raw offset and daylight
-	 * savings time rules as this SimpleTimeZone.
-	 * 
-	 * @param zone
-	 *            a TimeZone
-	 * @return true when the TimeZones have the same raw offset and daylight
-	 *         savings time rules, false otherwise
-	 */
-	@Override
+    /**
+     * Answers if the specified TimeZone has the same raw offset and daylight
+     * savings time rules as this SimpleTimeZone.
+     * 
+     * @param zone
+     *            a TimeZone
+     * @return true when the TimeZones have the same raw offset and daylight
+     *         savings time rules, false otherwise
+     */
+    @Override
     public boolean hasSameRules(TimeZone zone) {
-		if (!(zone instanceof SimpleTimeZone)) {
+        if (!(zone instanceof SimpleTimeZone)) {
             return false;
         }
-		SimpleTimeZone tz = (SimpleTimeZone) zone;
-		if (useDaylight != tz.useDaylight) {
+        SimpleTimeZone tz = (SimpleTimeZone) zone;
+        if (useDaylight != tz.useDaylight) {
             return false;
         }
-		if (!useDaylight) {
+        if (!useDaylight) {
             return rawOffset == tz.rawOffset;
         }
-		return rawOffset == tz.rawOffset && dstSavings == tz.dstSavings
-				&& startYear == tz.startYear && startMonth == tz.startMonth
-				&& startDay == tz.startDay && startMode == tz.startMode
-				&& startDayOfWeek == tz.startDayOfWeek
-				&& startTime == tz.startTime && endMonth == tz.endMonth
-				&& endDay == tz.endDay && endDayOfWeek == tz.endDayOfWeek
-				&& endTime == tz.endTime && endMode == tz.endMode;
-	}
-
-	/**
-	 * Answers if the specified Date is in the daylight savings time period for
-	 * this SimpleTimeZone.
-	 * 
-	 * @param time
-	 *            a Date
-	 * @return true when the Date is in the daylight savings time period, false
-	 *         otherwise
-	 */
-	@Override
+        return rawOffset == tz.rawOffset && dstSavings == tz.dstSavings
+                && startYear == tz.startYear && startMonth == tz.startMonth
+                && startDay == tz.startDay && startMode == tz.startMode
+                && startDayOfWeek == tz.startDayOfWeek
+                && startTime == tz.startTime && endMonth == tz.endMonth
+                && endDay == tz.endDay && endDayOfWeek == tz.endDayOfWeek
+                && endTime == tz.endTime && endMode == tz.endMode;
+    }
+
+    /**
+     * Answers if the specified Date is in the daylight savings time period for
+     * this SimpleTimeZone.
+     * 
+     * @param time
+     *            a Date
+     * @return true when the Date is in the daylight savings time period, false
+     *         otherwise
+     */
+    @Override
     public boolean inDaylightTime(Date time) {
-		// check for null pointer
-		long millis = time.getTime();
-		if (!useDaylightTime()) {
+        // check for null pointer
+        long millis = time.getTime();
+        if (!useDaylightTime()) {
             return false;
         }
-		if (daylightSavings == null) {
+        if (daylightSavings == null) {
             daylightSavings = new GregorianCalendar(this);
         }
-		return daylightSavings.getOffset(millis + rawOffset) != rawOffset;
-	}
+        return daylightSavings.getOffset(millis + rawOffset) != rawOffset;
+    }
 
-	private boolean isLeapYear(int year) {
-		if (year > 1582) {
+    private boolean isLeapYear(int year) {
+        if (year > 1582) {
             return year % 4 == 0 && (year % 100 != 0 || year % 400 == 0);
         }
         return year % 4 == 0;
-	}
+    }
 
-	private int mod7(int num1) {
-		int rem = num1 % 7;
-		return (num1 < 0 && rem < 0) ? 7 + rem : rem;
-	}
-
-	/**
-	 * Sets the daylight savings offset in milliseconds for this SimpleTimeZone.
-	 * 
-	 * @param milliseconds
-	 *            the daylight savings offset in milliseconds
-	 */
-	public void setDSTSavings(int milliseconds) {
-		if (milliseconds > 0) {
+    private int mod7(int num1) {
+        int rem = num1 % 7;
+        return (num1 < 0 && rem < 0) ? 7 + rem : rem;
+    }
+
+    /**
+     * Sets the daylight savings offset in milliseconds for this SimpleTimeZone.
+     * 
+     * @param milliseconds
+     *            the daylight savings offset in milliseconds
+     */
+    public void setDSTSavings(int milliseconds) {
+        if (milliseconds > 0) {
             dstSavings = milliseconds;
         } else {
             throw new IllegalArgumentException();
         }
-	}
+    }
 
-	private void checkRange(int month, int dayOfWeek, int time) {
+    private void checkRange(int month, int dayOfWeek, int time) {
         if (month < Calendar.JANUARY || month > Calendar.DECEMBER) {
             throw new IllegalArgumentException(Msg.getString("K00e5", month)); //$NON-NLS-1$
         }
         if (dayOfWeek < Calendar.SUNDAY || dayOfWeek > Calendar.SATURDAY) {
-            throw new IllegalArgumentException(Msg.getString("K00e7", dayOfWeek)); //$NON-NLS-1$
+            throw new IllegalArgumentException(Msg
+                    .getString("K00e7", dayOfWeek)); //$NON-NLS-1$
         }
         if (time < 0 || time >= 24 * 3600000) {
             throw new IllegalArgumentException(Msg.getString("K00e8", time)); //$NON-NLS-1$
@@ -575,380 +577,382 @@
         }
     }
 
-	private void setEndMode() {
-		if (endDayOfWeek == 0) {
+    private void setEndMode() {
+        if (endDayOfWeek == 0) {
             endMode = DOM_MODE;
         } else if (endDayOfWeek < 0) {
-			endDayOfWeek = -endDayOfWeek;
-			if (endDay < 0) {
-				endDay = -endDay;
-				endMode = DOW_LE_DOM_MODE;
-			} else {
+            endDayOfWeek = -endDayOfWeek;
+            if (endDay < 0) {
+                endDay = -endDay;
+                endMode = DOW_LE_DOM_MODE;
+            } else {
                 endMode = DOW_GE_DOM_MODE;
             }
-		} else {
+        } else {
             endMode = DOW_IN_MONTH_MODE;
         }
-		useDaylight = startDay != 0 && endDay != 0;
-		if (endDay != 0) {
-			checkRange(endMonth, endMode == DOM_MODE ? 1 : endDayOfWeek,
-					endTime);
-			if (endMode != DOW_IN_MONTH_MODE) {
+        useDaylight = startDay != 0 && endDay != 0;
+        if (endDay != 0) {
+            checkRange(endMonth, endMode == DOM_MODE ? 1 : endDayOfWeek,
+                    endTime);
+            if (endMode != DOW_IN_MONTH_MODE) {
                 checkDay(endMonth, endDay);
             } else {
-				if (endDay < -5 || endDay > 5) {
-                    throw new IllegalArgumentException(Msg.getString("K00f8", endDay)); //$NON-NLS-1$
+                if (endDay < -5 || endDay > 5) {
+                    throw new IllegalArgumentException(Msg.getString(
+                            "K00f8", endDay)); //$NON-NLS-1$
                 }
-			}
-		}
-		if (endMode != DOM_MODE) {
+            }
+        }
+        if (endMode != DOM_MODE) {
             endDayOfWeek--;
         }
-	}
+    }
+
+    /**
+     * Sets the rule which specifies the end of daylight savings time.
+     * 
+     * @param month
+     *            the Calendar month in which daylight savings time ends
+     * @param dayOfMonth
+     *            the Calendar day of the month on which daylight savings time
+     *            ends
+     * @param time
+     *            the time of day in milliseconds standard time on which
+     *            daylight savings time ends
+     */
+    public void setEndRule(int month, int dayOfMonth, int time) {
+        endMonth = month;
+        endDay = dayOfMonth;
+        endDayOfWeek = 0; // Initialize this value for hasSameRules()
+        endTime = time;
+        setEndMode();
+    }
+
+    /**
+     * Sets the rule which specifies the end of daylight savings time.
+     * 
+     * @param month
+     *            the Calendar month in which daylight savings time ends
+     * @param day
+     *            the occurrence of the day of the week on which daylight
+     *            savings time ends
+     * @param dayOfWeek
+     *            the Calendar day of the week on which daylight savings time
+     *            ends
+     * @param time
+     *            the time of day in milliseconds standard time on which
+     *            daylight savings time ends
+     */
+    public void setEndRule(int month, int day, int dayOfWeek, int time) {
+        endMonth = month;
+        endDay = day;
+        endDayOfWeek = dayOfWeek;
+        endTime = time;
+        setEndMode();
+    }
+
+    /**
+     * Sets the rule which specifies the end of daylight savings time.
+     * 
+     * @param month
+     *            the Calendar month in which daylight savings time ends
+     * @param day
+     *            the Calendar day of the month
+     * @param dayOfWeek
+     *            the Calendar day of the week on which daylight savings time
+     *            ends
+     * @param time
+     *            the time of day in milliseconds on which daylight savings time
+     *            ends
+     * @param after
+     *            selects the day after or before the day of month
+     */
+    public void setEndRule(int month, int day, int dayOfWeek, int time,
+            boolean after) {
+        endMonth = month;
+        endDay = after ? day : -day;
+        endDayOfWeek = -dayOfWeek;
+        endTime = time;
+        setEndMode();
+    }
 
-	/**
-	 * Sets the rule which specifies the end of daylight savings time.
-	 * 
-	 * @param month
-	 *            the Calendar month in which daylight savings time ends
-	 * @param dayOfMonth
-	 *            the Calendar day of the month on which daylight savings time
-	 *            ends
-	 * @param time
-	 *            the time of day in milliseconds standard time on which
-	 *            daylight savings time ends
-	 */
-	public void setEndRule(int month, int dayOfMonth, int time) {
-		endMonth = month;
-		endDay = dayOfMonth;
-		endDayOfWeek = 0; // Initialize this value for hasSameRules()
-		endTime = time;
-		setEndMode();
-	}
-
-	/**
-	 * Sets the rule which specifies the end of daylight savings time.
-	 * 
-	 * @param month
-	 *            the Calendar month in which daylight savings time ends
-	 * @param day
-	 *            the occurrence of the day of the week on which daylight
-	 *            savings time ends
-	 * @param dayOfWeek
-	 *            the Calendar day of the week on which daylight savings time
-	 *            ends
-	 * @param time
-	 *            the time of day in milliseconds standard time on which
-	 *            daylight savings time ends
-	 */
-	public void setEndRule(int month, int day, int dayOfWeek, int time) {
-		endMonth = month;
-		endDay = day;
-		endDayOfWeek = dayOfWeek;
-		endTime = time;
-		setEndMode();
-	}
-
-	/**
-	 * Sets the rule which specifies the end of daylight savings time.
-	 * 
-	 * @param month
-	 *            the Calendar month in which daylight savings time ends
-	 * @param day
-	 *            the Calendar day of the month
-	 * @param dayOfWeek
-	 *            the Calendar day of the week on which daylight savings time
-	 *            ends
-	 * @param time
-	 *            the time of day in milliseconds on which daylight savings time
-	 *            ends
-	 * @param after
-	 *            selects the day after or before the day of month
-	 */
-	public void setEndRule(int month, int day, int dayOfWeek, int time,
-			boolean after) {
-		endMonth = month;
-		endDay = after ? day : -day;
-		endDayOfWeek = -dayOfWeek;
-		endTime = time;
-		setEndMode();
-	}
-
-	/**
-	 * Sets the offset for standard time from GMT for this SimpleTimeZone.
-	 * 
-	 * @param offset
-	 *            the offset from GMT of standard time in milliseconds
-	 */
-	@Override
+    /**
+     * Sets the offset for standard time from GMT for this SimpleTimeZone.
+     * 
+     * @param offset
+     *            the offset from GMT of standard time in milliseconds
+     */
+    @Override
     public void setRawOffset(int offset) {
-		rawOffset = offset;
-	}
+        rawOffset = offset;
+    }
 
-	private void setStartMode() {
-		if (startDayOfWeek == 0) {
+    private void setStartMode() {
+        if (startDayOfWeek == 0) {
             startMode = DOM_MODE;
         } else if (startDayOfWeek < 0) {
-			startDayOfWeek = -startDayOfWeek;
-			if (startDay < 0) {
-				startDay = -startDay;
-				startMode = DOW_LE_DOM_MODE;
-			} else {
+            startDayOfWeek = -startDayOfWeek;
+            if (startDay < 0) {
+                startDay = -startDay;
+                startMode = DOW_LE_DOM_MODE;
+            } else {
                 startMode = DOW_GE_DOM_MODE;
             }
-		} else {
+        } else {
             startMode = DOW_IN_MONTH_MODE;
         }
-		useDaylight = startDay != 0 && endDay != 0;
-		if (startDay != 0) {
-			checkRange(startMonth, startMode == DOM_MODE ? 1 : startDayOfWeek,
-					startTime);
-			if (startMode != DOW_IN_MONTH_MODE) {
+        useDaylight = startDay != 0 && endDay != 0;
+        if (startDay != 0) {
+            checkRange(startMonth, startMode == DOM_MODE ? 1 : startDayOfWeek,
+                    startTime);
+            if (startMode != DOW_IN_MONTH_MODE) {
                 checkDay(startMonth, startDay);
             } else {
-				if (startDay < -5 || startDay > 5) {
-                    throw new IllegalArgumentException(Msg.getString("K00f8", startDay)); //$NON-NLS-1$
+                if (startDay < -5 || startDay > 5) {
+                    throw new IllegalArgumentException(Msg.getString(
+                            "K00f8", startDay)); //$NON-NLS-1$
                 }
-			}
-		}
-		if (startMode != DOM_MODE) {
+            }
+        }
+        if (startMode != DOM_MODE) {
             startDayOfWeek--;
         }
-	}
+    }
+
+    /**
+     * Sets the rule which specifies the start of daylight savings time.
+     * 
+     * @param month
+     *            the Calendar month in which daylight savings time starts
+     * @param dayOfMonth
+     *            the Calendar day of the month on which daylight savings time
+     *            starts
+     * @param time
+     *            the time of day in milliseconds on which daylight savings time
+     *            starts
+     */
+    public void setStartRule(int month, int dayOfMonth, int time) {
+        startMonth = month;
+        startDay = dayOfMonth;
+        startDayOfWeek = 0; // Initialize this value for hasSameRules()
+        startTime = time;
+        setStartMode();
+    }
+
+    /**
+     * Sets the rule which specifies the start of daylight savings time.
+     * 
+     * @param month
+     *            the Calendar month in which daylight savings time starts
+     * @param day
+     *            the occurrence of the day of the week on which daylight
+     *            savings time starts
+     * @param dayOfWeek
+     *            the Calendar day of the week on which daylight savings time
+     *            starts
+     * @param time
+     *            the time of day in milliseconds on which daylight savings time
+     *            starts
+     */
+    public void setStartRule(int month, int day, int dayOfWeek, int time) {
+        startMonth = month;
+        startDay = day;
+        startDayOfWeek = dayOfWeek;
+        startTime = time;
+        setStartMode();
+    }
+
+    /**
+     * Sets the rule which specifies the start of daylight savings time.
+     * 
+     * @param month
+     *            the Calendar month in which daylight savings time starts
+     * @param day
+     *            the Calendar day of the month
+     * @param dayOfWeek
+     *            the Calendar day of the week on which daylight savings time
+     *            starts
+     * @param time
+     *            the time of day in milliseconds on which daylight savings time
+     *            starts
+     * @param after
+     *            selects the day after or before the day of month
+     */
+    public void setStartRule(int month, int day, int dayOfWeek, int time,
+            boolean after) {
+        startMonth = month;
+        startDay = after ? day : -day;
+        startDayOfWeek = -dayOfWeek;
+        startTime = time;
+        setStartMode();
+    }
+
+    /**
+     * Sets the starting year for daylight savings time in this SimpleTimeZone.
+     * Years before this start year will always be in standard time.
+     * 
+     * @param year
+     *            the starting year
+     */
+    public void setStartYear(int year) {
+        startYear = year;
+        useDaylight = true;
+    }
 
-	/**
-	 * Sets the rule which specifies the start of daylight savings time.
-	 * 
-	 * @param month
-	 *            the Calendar month in which daylight savings time starts
-	 * @param dayOfMonth
-	 *            the Calendar day of the month on which daylight savings time
-	 *            starts
-	 * @param time
-	 *            the time of day in milliseconds on which daylight savings time
-	 *            starts
-	 */
-	public void setStartRule(int month, int dayOfMonth, int time) {
-		startMonth = month;
-		startDay = dayOfMonth;
-		startDayOfWeek = 0; // Initialize this value for hasSameRules()
-		startTime = time;
-		setStartMode();
-	}
-
-	/**
-	 * Sets the rule which specifies the start of daylight savings time.
-	 * 
-	 * @param month
-	 *            the Calendar month in which daylight savings time starts
-	 * @param day
-	 *            the occurrence of the day of the week on which daylight
-	 *            savings time starts
-	 * @param dayOfWeek
-	 *            the Calendar day of the week on which daylight savings time
-	 *            starts
-	 * @param time
-	 *            the time of day in milliseconds on which daylight savings time
-	 *            starts
-	 */
-	public void setStartRule(int month, int day, int dayOfWeek, int time) {
-		startMonth = month;
-		startDay = day;
-		startDayOfWeek = dayOfWeek;
-		startTime = time;
-		setStartMode();
-	}
-
-	/**
-	 * Sets the rule which specifies the start of daylight savings time.
-	 * 
-	 * @param month
-	 *            the Calendar month in which daylight savings time starts
-	 * @param day
-	 *            the Calendar day of the month
-	 * @param dayOfWeek
-	 *            the Calendar day of the week on which daylight savings time
-	 *            starts
-	 * @param time
-	 *            the time of day in milliseconds on which daylight savings time
-	 *            starts
-	 * @param after
-	 *            selects the day after or before the day of month
-	 */
-	public void setStartRule(int month, int day, int dayOfWeek, int time,
-			boolean after) {
-		startMonth = month;
-		startDay = after ? day : -day;
-		startDayOfWeek = -dayOfWeek;
-		startTime = time;
-		setStartMode();
-	}
-
-	/**
-	 * Sets the starting year for daylight savings time in this SimpleTimeZone.
-	 * Years before this start year will always be in standard time.
-	 * 
-	 * @param year
-	 *            the starting year
-	 */
-	public void setStartYear(int year) {
-		startYear = year;
-		useDaylight = true;
-	}
-
-	/**
-	 * Answers the string representation of this SimpleTimeZone.
-	 * 
-	 * @return the string representation of this SimpleTimeZone
-	 */
-	@Override
+    /**
+     * Answers the string representation of this SimpleTimeZone.
+     * 
+     * @return the string representation of this SimpleTimeZone
+     */
+    @Override
     public String toString() {
-		return getClass().getName()
-				+ "[id=" //$NON-NLS-1$
-				+ getID()
-				+ ",offset=" //$NON-NLS-1$
-				+ rawOffset
-				+ ",dstSavings=" //$NON-NLS-1$
-				+ dstSavings
-				+ ",useDaylight=" //$NON-NLS-1$
-				+ useDaylight
-				+ ",startYear=" //$NON-NLS-1$
-				+ startYear
-				+ ",startMode=" //$NON-NLS-1$
-				+ startMode
-				+ ",startMonth=" //$NON-NLS-1$
-				+ startMonth
-				+ ",startDay=" //$NON-NLS-1$
-				+ startDay
-				+ ",startDayOfWeek=" //$NON-NLS-1$
-				+ (useDaylight && (startMode != DOM_MODE) ? startDayOfWeek + 1
-						: 0) + ",startTime=" + startTime + ",endMode=" //$NON-NLS-1$ //$NON-NLS-2$
-				+ endMode + ",endMonth=" + endMonth + ",endDay=" + endDay //$NON-NLS-1$ //$NON-NLS-2$
-				+ ",endDayOfWeek=" //$NON-NLS-1$
-				+ (useDaylight && (endMode != DOM_MODE) ? endDayOfWeek + 1 : 0)
-				+ ",endTime=" + endTime + "]";  //$NON-NLS-1$//$NON-NLS-2$
-	}
-
-	/**
-	 * Answers if this TimeZone has a daylight savings time period.
-	 * 
-	 * @return true if this time zone has a daylight savings time period, false
-	 *         otherwise
-	 */
-	@Override
+        return getClass().getName()
+                + "[id=" //$NON-NLS-1$
+                + getID()
+                + ",offset=" //$NON-NLS-1$
+                + rawOffset
+                + ",dstSavings=" //$NON-NLS-1$
+                + dstSavings
+                + ",useDaylight=" //$NON-NLS-1$
+                + useDaylight
+                + ",startYear=" //$NON-NLS-1$
+                + startYear
+                + ",startMode=" //$NON-NLS-1$
+                + startMode
+                + ",startMonth=" //$NON-NLS-1$
+                + startMonth
+                + ",startDay=" //$NON-NLS-1$
+                + startDay
+                + ",startDayOfWeek=" //$NON-NLS-1$
+                + (useDaylight && (startMode != DOM_MODE) ? startDayOfWeek + 1
+                        : 0) + ",startTime=" + startTime + ",endMode=" //$NON-NLS-1$ //$NON-NLS-2$
+                + endMode + ",endMonth=" + endMonth + ",endDay=" + endDay //$NON-NLS-1$ //$NON-NLS-2$
+                + ",endDayOfWeek=" //$NON-NLS-1$
+                + (useDaylight && (endMode != DOM_MODE) ? endDayOfWeek + 1 : 0)
+                + ",endTime=" + endTime + "]"; //$NON-NLS-1$//$NON-NLS-2$
+    }
+
+    /**
+     * Answers if this TimeZone has a daylight savings time period.
+     * 
+     * @return true if this time zone has a daylight savings time period, false
+     *         otherwise
+     */
+    @Override
     public boolean useDaylightTime() {
-		return useDaylight;
-	}
+        return useDaylight;
+    }
 
-	private static final ObjectStreamField[] serialPersistentFields = {
-			new ObjectStreamField("dstSavings", Integer.TYPE), //$NON-NLS-1$
-			new ObjectStreamField("endDay", Integer.TYPE), //$NON-NLS-1$
-			new ObjectStreamField("endDayOfWeek", Integer.TYPE), //$NON-NLS-1$
-			new ObjectStreamField("endMode", Integer.TYPE), //$NON-NLS-1$
-			new ObjectStreamField("endMonth", Integer.TYPE), //$NON-NLS-1$
-			new ObjectStreamField("endTime", Integer.TYPE), //$NON-NLS-1$
-			new ObjectStreamField("monthLength", byte[].class), //$NON-NLS-1$
-			new ObjectStreamField("rawOffset", Integer.TYPE), //$NON-NLS-1$
-			new ObjectStreamField("serialVersionOnStream", Integer.TYPE), //$NON-NLS-1$
-			new ObjectStreamField("startDay", Integer.TYPE), //$NON-NLS-1$
-			new ObjectStreamField("startDayOfWeek", Integer.TYPE), //$NON-NLS-1$
-			new ObjectStreamField("startMode", Integer.TYPE), //$NON-NLS-1$
-			new ObjectStreamField("startMonth", Integer.TYPE), //$NON-NLS-1$
-			new ObjectStreamField("startTime", Integer.TYPE), //$NON-NLS-1$
-			new ObjectStreamField("startYear", Integer.TYPE), //$NON-NLS-1$
-			new ObjectStreamField("useDaylight", Boolean.TYPE), }; //$NON-NLS-1$
-
-	private void writeObject(ObjectOutputStream stream) throws IOException {
-		int sEndDay = endDay, sEndDayOfWeek = endDayOfWeek + 1, sStartDay = startDay, sStartDayOfWeek = startDayOfWeek + 1;
-		if (useDaylight
-				&& (startMode != DOW_IN_MONTH_MODE || endMode != DOW_IN_MONTH_MODE)) {
-			Calendar cal = new GregorianCalendar(this);
-			if (endMode != DOW_IN_MONTH_MODE) {
-				cal.set(Calendar.MONTH, endMonth);
-				cal.set(Calendar.DATE, endDay);
-				sEndDay = cal.get(Calendar.DAY_OF_WEEK_IN_MONTH);
-				if (endMode == DOM_MODE) {
+    private static final ObjectStreamField[] serialPersistentFields = {
+            new ObjectStreamField("dstSavings", Integer.TYPE), //$NON-NLS-1$
+            new ObjectStreamField("endDay", Integer.TYPE), //$NON-NLS-1$
+            new ObjectStreamField("endDayOfWeek", Integer.TYPE), //$NON-NLS-1$
+            new ObjectStreamField("endMode", Integer.TYPE), //$NON-NLS-1$
+            new ObjectStreamField("endMonth", Integer.TYPE), //$NON-NLS-1$
+            new ObjectStreamField("endTime", Integer.TYPE), //$NON-NLS-1$
+            new ObjectStreamField("monthLength", byte[].class), //$NON-NLS-1$
+            new ObjectStreamField("rawOffset", Integer.TYPE), //$NON-NLS-1$
+            new ObjectStreamField("serialVersionOnStream", Integer.TYPE), //$NON-NLS-1$
+            new ObjectStreamField("startDay", Integer.TYPE), //$NON-NLS-1$
+            new ObjectStreamField("startDayOfWeek", Integer.TYPE), //$NON-NLS-1$
+            new ObjectStreamField("startMode", Integer.TYPE), //$NON-NLS-1$
+            new ObjectStreamField("startMonth", Integer.TYPE), //$NON-NLS-1$
+            new ObjectStreamField("startTime", Integer.TYPE), //$NON-NLS-1$
+            new ObjectStreamField("startYear", Integer.TYPE), //$NON-NLS-1$
+            new ObjectStreamField("useDaylight", Boolean.TYPE), }; //$NON-NLS-1$
+
+    private void writeObject(ObjectOutputStream stream) throws IOException {
+        int sEndDay = endDay, sEndDayOfWeek = endDayOfWeek + 1, sStartDay = startDay, sStartDayOfWeek = startDayOfWeek + 1;
+        if (useDaylight
+                && (startMode != DOW_IN_MONTH_MODE || endMode != DOW_IN_MONTH_MODE)) {
+            Calendar cal = new GregorianCalendar(this);
+            if (endMode != DOW_IN_MONTH_MODE) {
+                cal.set(Calendar.MONTH, endMonth);
+                cal.set(Calendar.DATE, endDay);
+                sEndDay = cal.get(Calendar.DAY_OF_WEEK_IN_MONTH);
+                if (endMode == DOM_MODE) {
                     sEndDayOfWeek = cal.getFirstDayOfWeek();
                 }
-			}
-			if (startMode != DOW_IN_MONTH_MODE) {
-				cal.set(Calendar.MONTH, startMonth);
-				cal.set(Calendar.DATE, startDay);
-				sStartDay = cal.get(Calendar.DAY_OF_WEEK_IN_MONTH);
-				if (startMode == DOM_MODE) {
+            }
+            if (startMode != DOW_IN_MONTH_MODE) {
+                cal.set(Calendar.MONTH, startMonth);
+                cal.set(Calendar.DATE, startDay);
+                sStartDay = cal.get(Calendar.DAY_OF_WEEK_IN_MONTH);
+                if (startMode == DOM_MODE) {
                     sStartDayOfWeek = cal.getFirstDayOfWeek();
                 }
-			}
-		}
-		ObjectOutputStream.PutField fields = stream.putFields();
-		fields.put("dstSavings", dstSavings); //$NON-NLS-1$
-		fields.put("endDay", sEndDay); //$NON-NLS-1$
-		fields.put("endDayOfWeek", sEndDayOfWeek); //$NON-NLS-1$
-		fields.put("endMode", endMode); //$NON-NLS-1$
-		fields.put("endMonth", endMonth); //$NON-NLS-1$
-		fields.put("endTime", endTime); //$NON-NLS-1$
-		fields.put("monthLength", GregorianCalendar.DaysInMonth); //$NON-NLS-1$
-		fields.put("rawOffset", rawOffset); //$NON-NLS-1$
-		fields.put("serialVersionOnStream", 1); //$NON-NLS-1$
-		fields.put("startDay", sStartDay); //$NON-NLS-1$
-		fields.put("startDayOfWeek", sStartDayOfWeek); //$NON-NLS-1$
-		fields.put("startMode", startMode); //$NON-NLS-1$
-		fields.put("startMonth", startMonth); //$NON-NLS-1$
-		fields.put("startTime", startTime); //$NON-NLS-1$
-		fields.put("startYear", startYear); //$NON-NLS-1$
-		fields.put("useDaylight", useDaylight); //$NON-NLS-1$
-		stream.writeFields();
-		stream.writeInt(4);
-		byte[] values = new byte[4];
-		values[0] = (byte) startDay;
-		values[1] = (byte) (startMode == DOM_MODE ? 0 : startDayOfWeek + 1);
-		values[2] = (byte) endDay;
-		values[3] = (byte) (endMode == DOM_MODE ? 0 : endDayOfWeek + 1);
-		stream.write(values);
-	}
-
-	private void readObject(ObjectInputStream stream) throws IOException,
-			ClassNotFoundException {
-		ObjectInputStream.GetField fields = stream.readFields();
-		rawOffset = fields.get("rawOffset", 0); //$NON-NLS-1$
-		useDaylight = fields.get("useDaylight", false); //$NON-NLS-1$
-		if (useDaylight) {
-			endMonth = fields.get("endMonth", 0); //$NON-NLS-1$
-			endTime = fields.get("endTime", 0); //$NON-NLS-1$
-			startMonth = fields.get("startMonth", 0); //$NON-NLS-1$
-			startTime = fields.get("startTime", 0); //$NON-NLS-1$
-			startYear = fields.get("startYear", 0); //$NON-NLS-1$
-		}
-		if (fields.get("serialVersionOnStream", 0) == 0) { //$NON-NLS-1$
-			if (useDaylight) {
-				startMode = endMode = DOW_IN_MONTH_MODE;
-				endDay = fields.get("endDay", 0); //$NON-NLS-1$
-				endDayOfWeek = fields.get("endDayOfWeek", 0) - 1; //$NON-NLS-1$
-				startDay = fields.get("startDay", 0); //$NON-NLS-1$
-				startDayOfWeek = fields.get("startDayOfWeek", 0) - 1; //$NON-NLS-1$
-			}
-		} else {
-			dstSavings = fields.get("dstSavings", 0); //$NON-NLS-1$
-			if (useDaylight) {
-				endMode = fields.get("endMode", 0); //$NON-NLS-1$
-				startMode = fields.get("startMode", 0); //$NON-NLS-1$
-				int length = stream.readInt();
-				byte[] values = new byte[length];
-				stream.readFully(values);
-				if (length >= 4) {
-					startDay = values[0];
-					startDayOfWeek = values[1];
-					if (startMode != DOM_MODE) {
+            }
+        }
+        ObjectOutputStream.PutField fields = stream.putFields();
+        fields.put("dstSavings", dstSavings); //$NON-NLS-1$
+        fields.put("endDay", sEndDay); //$NON-NLS-1$
+        fields.put("endDayOfWeek", sEndDayOfWeek); //$NON-NLS-1$
+        fields.put("endMode", endMode); //$NON-NLS-1$
+        fields.put("endMonth", endMonth); //$NON-NLS-1$
+        fields.put("endTime", endTime); //$NON-NLS-1$
+        fields.put("monthLength", GregorianCalendar.DaysInMonth); //$NON-NLS-1$
+        fields.put("rawOffset", rawOffset); //$NON-NLS-1$
+        fields.put("serialVersionOnStream", 1); //$NON-NLS-1$
+        fields.put("startDay", sStartDay); //$NON-NLS-1$
+        fields.put("startDayOfWeek", sStartDayOfWeek); //$NON-NLS-1$
+        fields.put("startMode", startMode); //$NON-NLS-1$
+        fields.put("startMonth", startMonth); //$NON-NLS-1$
+        fields.put("startTime", startTime); //$NON-NLS-1$
+        fields.put("startYear", startYear); //$NON-NLS-1$
+        fields.put("useDaylight", useDaylight); //$NON-NLS-1$
+        stream.writeFields();
+        stream.writeInt(4);
+        byte[] values = new byte[4];
+        values[0] = (byte) startDay;
+        values[1] = (byte) (startMode == DOM_MODE ? 0 : startDayOfWeek + 1);
+        values[2] = (byte) endDay;
+        values[3] = (byte) (endMode == DOM_MODE ? 0 : endDayOfWeek + 1);
+        stream.write(values);
+    }
+
+    private void readObject(ObjectInputStream stream) throws IOException,
+            ClassNotFoundException {
+        ObjectInputStream.GetField fields = stream.readFields();
+        rawOffset = fields.get("rawOffset", 0); //$NON-NLS-1$
+        useDaylight = fields.get("useDaylight", false); //$NON-NLS-1$
+        if (useDaylight) {
+            endMonth = fields.get("endMonth", 0); //$NON-NLS-1$
+            endTime = fields.get("endTime", 0); //$NON-NLS-1$
+            startMonth = fields.get("startMonth", 0); //$NON-NLS-1$
+            startTime = fields.get("startTime", 0); //$NON-NLS-1$
+            startYear = fields.get("startYear", 0); //$NON-NLS-1$
+        }
+        if (fields.get("serialVersionOnStream", 0) == 0) { //$NON-NLS-1$
+            if (useDaylight) {
+                startMode = endMode = DOW_IN_MONTH_MODE;
+                endDay = fields.get("endDay", 0); //$NON-NLS-1$
+                endDayOfWeek = fields.get("endDayOfWeek", 0) - 1; //$NON-NLS-1$
+                startDay = fields.get("startDay", 0); //$NON-NLS-1$
+                startDayOfWeek = fields.get("startDayOfWeek", 0) - 1; //$NON-NLS-1$
+            }
+        } else {
+            dstSavings = fields.get("dstSavings", 0); //$NON-NLS-1$
+            if (useDaylight) {
+                endMode = fields.get("endMode", 0); //$NON-NLS-1$
+                startMode = fields.get("startMode", 0); //$NON-NLS-1$
+                int length = stream.readInt();
+                byte[] values = new byte[length];
+                stream.readFully(values);
+                if (length >= 4) {
+                    startDay = values[0];
+                    startDayOfWeek = values[1];
+                    if (startMode != DOM_MODE) {
                         startDayOfWeek--;
                     }
-					endDay = values[2];
-					endDayOfWeek = values[3];
-					if (endMode != DOM_MODE) {
+                    endDay = values[2];
+                    endDayOfWeek = values[3];
+                    if (endMode != DOM_MODE) {
                         endDayOfWeek--;
                     }
-				}
-			}
-		}
-	}
+                }
+            }
+        }
+    }
 
 }

Modified: harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/util/SortedMap.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/util/SortedMap.java?rev=601315&r1=601314&r2=601315&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/util/SortedMap.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/util/SortedMap.java Wed Dec  5 04:25:42 2007
@@ -17,100 +17,99 @@
 
 package java.util;
 
-
 /**
  * SortedMap is a Map where the iterators sequence in order of the sorted keys.
  */
-public interface SortedMap<K,V> extends Map<K,V> {
-	
-	/**
-	 * Answers the Comparator used to compare elements in this SortedMap.
-	 * 
-	 * @return a Comparator or null if the natural order is used
-	 */
-	public Comparator<? super K> comparator();
-
-	/**
-	 * Answer the first sorted key in this SortedMap.
-	 * 
-	 * @return the first sorted key
-	 * 
-	 * @exception NoSuchElementException
-	 *                when this SortedMap is empty
-	 */
-	public K firstKey();
-
-	/**
-	 * Answers a <code>SortedMap</code> of the specified portion of this
-	 * <code>SortedMap</code> which contains keys less than the end key. Users
-	 * should be aware that the return value is actually backed by this
-	 * <code>SortedMap</code>. Hence any modifications made to one will be
-	 * immediately visible to the other.
-	 * 
-	 * @param endKey
-	 *            the end key
-	 * @return a submap where the keys are less than <code>endKey</code>
-	 * 
-	 * @exception ClassCastException
-	 *                when the class of the end key is inappropriate for this
-	 *                SubMap
-	 * @exception NullPointerException
-	 *                when the end key is null and this SortedMap does not
-	 *                support null keys
-	 */
-	public SortedMap<K,V> headMap(K endKey);
-
-	/**
-	 * Answers the last sorted key in this SortedMap.
-	 * 
-	 * @return the last sorted key
-	 * 
-	 * @exception NoSuchElementException
-	 *                when this SortedMap is empty
-	 */
-	public K lastKey();
-
-	/**
-	 * Answers a SortedMap of the specified portion of this SortedMap which
-	 * contains keys greater or equal to the start key but less than the end
-	 * key. Users should be aware that the return value is actually backed by
-	 * this <code>SortedMap</code>. Hence any modifications made to one will
-	 * be immediately visible to the other.
-	 * 
-	 * @param startKey
-	 *            the start key
-	 * @param endKey
-	 *            the end key
-	 * @return a submap where the keys are greater or equal to
-	 *         <code>startKey</code> and less than <code>endKey</code>
-	 * 
-	 * @exception ClassCastException
-	 *                when the class of the start or end key is inappropriate
-	 *                for this SubMap
-	 * @exception NullPointerException
-	 *                when the start or end key is null and this SortedMap does
-	 *                not support null keys
-	 * @exception IllegalArgumentException
-	 *                when the start key is greater than the end key
-	 */
-	public SortedMap<K,V> subMap(K startKey, K endKey);
-
-	/**
-	 * Answers a SortedMap of the specified portion of this SortedMap which
-	 * contains keys greater or equal to the start key. The returned SortedMap
-	 * is backed by this SortedMap so changes to one are reflected by the other.
-	 * 
-	 * @param startKey
-	 *            the start key
-	 * @return a submap where the keys are greater or equal to
-	 *         <code>startKey</code>
-	 * 
-	 * @exception ClassCastException
-	 *                when the class of the start key is inappropriate for this
-	 *                SubMap
-	 * @exception NullPointerException
-	 *                when the start key is null and this SortedMap does not
-	 *                support null keys
-	 */
-	public SortedMap<K,V> tailMap(K startKey);
+public interface SortedMap<K, V> extends Map<K, V> {
+
+    /**
+     * Answers the Comparator used to compare elements in this SortedMap.
+     * 
+     * @return a Comparator or null if the natural order is used
+     */
+    public Comparator<? super K> comparator();
+
+    /**
+     * Answer the first sorted key in this SortedMap.
+     * 
+     * @return the first sorted key
+     * 
+     * @exception NoSuchElementException
+     *                when this SortedMap is empty
+     */
+    public K firstKey();
+
+    /**
+     * Answers a <code>SortedMap</code> of the specified portion of this
+     * <code>SortedMap</code> which contains keys less than the end key. Users
+     * should be aware that the return value is actually backed by this
+     * <code>SortedMap</code>. Hence any modifications made to one will be
+     * immediately visible to the other.
+     * 
+     * @param endKey
+     *            the end key
+     * @return a submap where the keys are less than <code>endKey</code>
+     * 
+     * @exception ClassCastException
+     *                when the class of the end key is inappropriate for this
+     *                SubMap
+     * @exception NullPointerException
+     *                when the end key is null and this SortedMap does not
+     *                support null keys
+     */
+    public SortedMap<K, V> headMap(K endKey);
+
+    /**
+     * Answers the last sorted key in this SortedMap.
+     * 
+     * @return the last sorted key
+     * 
+     * @exception NoSuchElementException
+     *                when this SortedMap is empty
+     */
+    public K lastKey();
+
+    /**
+     * Answers a SortedMap of the specified portion of this SortedMap which
+     * contains keys greater or equal to the start key but less than the end
+     * key. Users should be aware that the return value is actually backed by
+     * this <code>SortedMap</code>. Hence any modifications made to one will
+     * be immediately visible to the other.
+     * 
+     * @param startKey
+     *            the start key
+     * @param endKey
+     *            the end key
+     * @return a submap where the keys are greater or equal to
+     *         <code>startKey</code> and less than <code>endKey</code>
+     * 
+     * @exception ClassCastException
+     *                when the class of the start or end key is inappropriate
+     *                for this SubMap
+     * @exception NullPointerException
+     *                when the start or end key is null and this SortedMap does
+     *                not support null keys
+     * @exception IllegalArgumentException
+     *                when the start key is greater than the end key
+     */
+    public SortedMap<K, V> subMap(K startKey, K endKey);
+
+    /**
+     * Answers a SortedMap of the specified portion of this SortedMap which
+     * contains keys greater or equal to the start key. The returned SortedMap
+     * is backed by this SortedMap so changes to one are reflected by the other.
+     * 
+     * @param startKey
+     *            the start key
+     * @return a submap where the keys are greater or equal to
+     *         <code>startKey</code>
+     * 
+     * @exception ClassCastException
+     *                when the class of the start key is inappropriate for this
+     *                SubMap
+     * @exception NullPointerException
+     *                when the start key is null and this SortedMap does not
+     *                support null keys
+     */
+    public SortedMap<K, V> tailMap(K startKey);
 }

Modified: harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/util/SortedSet.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/util/SortedSet.java?rev=601315&r1=601314&r2=601315&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/util/SortedSet.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/util/SortedSet.java Wed Dec  5 04:25:42 2007
@@ -17,98 +17,97 @@
 
 package java.util;
 
-
 /**
  * SortedSet is a Set which iterates its elements in sorted order.
  */
 public interface SortedSet<E> extends Set<E> {
-	
-	/**
-	 * Answers the Comparator used to compare elements in this SortedSet.
-	 * 
-	 * @return a Comparator or null if the natural order is used
-	 */
-	public Comparator<? super E> comparator();
-
-	/**
-	 * Answer the first sorted element in this SortedSet.
-	 * 
-	 * @return the first sorted element
-	 * 
-	 * @exception NoSuchElementException
-	 *                when this SortedSet is empty
-	 */
-	public E first();
-
-	/**
-	 * Answers a SortedSet of the specified portion of this SortedSet which
-	 * contains elements less than the end element. The returned SortedSet is
-	 * backed by this SortedSet so changes to one are reflected by the other.
-	 * 
-	 * @param end
-	 *            the end element
-	 * @return a subset where the elements are less than <code>end</code>
-	 * 
-	 * @exception ClassCastException
-	 *                when the class of the end element is inappropriate for
-	 *                this SubSet
-	 * @exception NullPointerException
-	 *                when the end element is null and this SortedSet does not
-	 *                support null elements
-	 */
-	public SortedSet<E> headSet(E end);
-
-	/**
-	 * Answer the last sorted element in this SortedSet.
-	 * 
-	 * @return the last sorted element
-	 * 
-	 * @exception NoSuchElementException
-	 *                when this SortedSet is empty
-	 */
-	public E last();
-
-	/**
-	 * Answers a SortedSet of the specified portion of this SortedSet which
-	 * contains elements greater or equal to the start element but less than the
-	 * end element. The returned SortedSet is backed by this SortedMap so
-	 * changes to one are reflected by the other.
-	 * 
-	 * @param start
-	 *            the start element
-	 * @param end
-	 *            the end element
-	 * @return a subset where the elements are greater or equal to
-	 *         <code>start</code> and less than <code>end</code>
-	 * 
-	 * @exception ClassCastException
-	 *                when the class of the start or end element is
-	 *                inappropriate for this SubSet
-	 * @exception NullPointerException
-	 *                when the start or end element is null and this SortedSet
-	 *                does not support null elements
-	 * @exception IllegalArgumentException
-	 *                when the start element is greater than the end element
-	 */
-	public SortedSet<E> subSet(E start, E end);
-
-	/**
-	 * Answers a SortedSet of the specified portion of this SortedSet which
-	 * contains elements greater or equal to the start element. The returned
-	 * SortedSet is backed by this SortedSet so changes to one are reflected by
-	 * the other.
-	 * 
-	 * @param start
-	 *            the start element
-	 * @return a subset where the elements are greater or equal to
-	 *         <code>start</code>
-	 * 
-	 * @exception ClassCastException
-	 *                when the class of the start element is inappropriate for
-	 *                this SubSet
-	 * @exception NullPointerException
-	 *                when the start element is null and this SortedSet does not
-	 *                support null elements
-	 */
-	public SortedSet<E> tailSet(E start);
+
+    /**
+     * Answers the Comparator used to compare elements in this SortedSet.
+     * 
+     * @return a Comparator or null if the natural order is used
+     */
+    public Comparator<? super E> comparator();
+
+    /**
+     * Answer the first sorted element in this SortedSet.
+     * 
+     * @return the first sorted element
+     * 
+     * @exception NoSuchElementException
+     *                when this SortedSet is empty
+     */
+    public E first();
+
+    /**
+     * Answers a SortedSet of the specified portion of this SortedSet which
+     * contains elements less than the end element. The returned SortedSet is
+     * backed by this SortedSet so changes to one are reflected by the other.
+     * 
+     * @param end
+     *            the end element
+     * @return a subset where the elements are less than <code>end</code>
+     * 
+     * @exception ClassCastException
+     *                when the class of the end element is inappropriate for
+     *                this SubSet
+     * @exception NullPointerException
+     *                when the end element is null and this SortedSet does not
+     *                support null elements
+     */
+    public SortedSet<E> headSet(E end);
+
+    /**
+     * Answer the last sorted element in this SortedSet.
+     * 
+     * @return the last sorted element
+     * 
+     * @exception NoSuchElementException
+     *                when this SortedSet is empty
+     */
+    public E last();
+
+    /**
+     * Answers a SortedSet of the specified portion of this SortedSet which
+     * contains elements greater or equal to the start element but less than the
+     * end element. The returned SortedSet is backed by this SortedMap so
+     * changes to one are reflected by the other.
+     * 
+     * @param start
+     *            the start element
+     * @param end
+     *            the end element
+     * @return a subset where the elements are greater or equal to
+     *         <code>start</code> and less than <code>end</code>
+     * 
+     * @exception ClassCastException
+     *                when the class of the start or end element is
+     *                inappropriate for this SubSet
+     * @exception NullPointerException
+     *                when the start or end element is null and this SortedSet
+     *                does not support null elements
+     * @exception IllegalArgumentException
+     *                when the start element is greater than the end element
+     */
+    public SortedSet<E> subSet(E start, E end);
+
+    /**
+     * Answers a SortedSet of the specified portion of this SortedSet which
+     * contains elements greater or equal to the start element. The returned
+     * SortedSet is backed by this SortedSet so changes to one are reflected by
+     * the other.
+     * 
+     * @param start
+     *            the start element
+     * @return a subset where the elements are greater or equal to
+     *         <code>start</code>
+     * 
+     * @exception ClassCastException
+     *                when the class of the start element is inappropriate for
+     *                this SubSet
+     * @exception NullPointerException
+     *                when the start element is null and this SortedSet does not
+     *                support null elements
+     */
+    public SortedSet<E> tailSet(E start);
 }

Modified: harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/util/Stack.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/util/Stack.java?rev=601315&r1=601314&r2=601315&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/util/Stack.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/luni/src/main/java/java/util/Stack.java Wed Dec  5 04:25:42 2007
@@ -17,94 +17,93 @@
 
 package java.util;
 
-
 /**
  * <code>Stack</code> is a Last-In/First-Out(LIFO) data structure which
  * represents a stack of objects. It enables users to pop and push onto the
  * stack, including null objects. There is no limit to the size of the stack
  */
 public class Stack<E> extends Vector<E> {
-	
-	private static final long serialVersionUID = 1224463164541339165L;
 
-	/**
-	 * Constructs a stack with the default size of <code>Vector</code>.
-	 */
-	public Stack() {
-		super();
-	}
-
-	/**
-	 * Determines if the stack is empty or not.
-	 * 
-	 * @return true if the stack is empty, false otherwise
-	 */
-	public boolean empty() {
-		return elementCount == 0;
-	}
-
-	/**
-	 * Returns the element at the top of the stack without removing it.
-	 * 
-	 * @return the element at the top of the Stack
-	 * @exception EmptyStackException
-	 *                when empty() is true
-	 * @see #pop
-	 */
-	@SuppressWarnings("unchecked")
+    private static final long serialVersionUID = 1224463164541339165L;
+
+    /**
+     * Constructs a stack with the default size of <code>Vector</code>.
+     */
+    public Stack() {
+        super();
+    }
+
+    /**
+     * Determines if the stack is empty or not.
+     * 
+     * @return true if the stack is empty, false otherwise
+     */
+    public boolean empty() {
+        return elementCount == 0;
+    }
+
+    /**
+     * Returns the element at the top of the stack without removing it.
+     * 
+     * @return the element at the top of the Stack
+     * @exception EmptyStackException
+     *                when empty() is true
+     * @see #pop
+     */
+    @SuppressWarnings("unchecked")
     public synchronized E peek() {
-		try {
-			return (E)elementData[elementCount - 1];
-		} catch (IndexOutOfBoundsException e) {
-			throw new EmptyStackException();
-		}
-	}
-
-	/**
-	 * Returns the element at the top of the stack and removes it.
-	 * 
-	 * @return the element at the top of the stack.
-	 * @exception EmptyStackException
-	 *                when empty() is true
-	 * @see #peek
-	 * @see #push
-	 */
-	@SuppressWarnings("unchecked")
+        try {
+            return (E) elementData[elementCount - 1];
+        } catch (IndexOutOfBoundsException e) {
+            throw new EmptyStackException();
+        }
+    }
+
+    /**
+     * Returns the element at the top of the stack and removes it.
+     * 
+     * @return the element at the top of the stack.
+     * @exception EmptyStackException
+     *                when empty() is true
+     * @see #peek
+     * @see #push
+     */
+    @SuppressWarnings("unchecked")
     public synchronized E pop() {
-		if(elementCount == 0){
+        if (elementCount == 0) {
             throw new EmptyStackException();
         }
-		final int index = --elementCount;
-		final E obj = (E)elementData[index];
-		elementData[index] = null;
+        final int index = --elementCount;
+        final E obj = (E) elementData[index];
+        elementData[index] = null;
         modCount++;
-		return obj;
-	}
+        return obj;
+    }
 
-	/**
-	 * Pushes the object from the parameter onto the top of the stack.
-	 * 
-	 * @param object
-	 *            The object to be added to the stack
-	 * 
-	 * @return the object argument
-	 * 
-	 * @see #peek
-	 * @see #pop
-	 */
-	public E push(E object) {
-		addElement(object);
-		return object;
-	}
-
-	/**
-	 * Returns the index of the first occurrence of the object.
-	 * 
-	 * @return the index of the first occurrence of the object
-	 * @param o
-	 *            the object to be searched
-	 */
-	public synchronized int search(Object object) {
+    /**
+     * Pushes the object from the parameter onto the top of the stack.
+     * 
+     * @param object
+     *            The object to be added to the stack
+     * 
+     * @return the object argument
+     * 
+     * @see #peek
+     * @see #pop
+     */
+    public E push(E object) {
+        addElement(object);
+        return object;
+    }
+
+    /**
+     * Returns the index of the first occurrence of the object.
+     * 
+     * @return the index of the first occurrence of the object
+     * @param o
+     *            the object to be searched
+     */
+    public synchronized int search(Object object) {
         final Object[] dumpArray = elementData;
         final int size = elementCount;
         if (object != null) {
@@ -121,5 +120,5 @@
             }
         }
         return -1;
-	}
+    }
 }



Mime
View raw message