1/* 2 ******************************************************************************* 3 * Copyright (C) 2007-2008, International Business Machines Corporation and * 4 * others. All Rights Reserved. * 5 ******************************************************************************* 6 */ 7package com.ibm.icu.util; 8 9import java.util.Date; 10 11/** 12 * <code>InitialTimeZoneRule</code> represents a time zone rule 13 * representing a time zone effective from the beginning and 14 * has no actual start times. 15 * 16 * @stable ICU 3.8 17 */ 18public class InitialTimeZoneRule extends TimeZoneRule { 19 20 private static final long serialVersionUID = 1876594993064051206L; 21 22 /** 23 * Constructs a <code>InitialTimeZoneRule</code> with the name, the GMT offset of its 24 * standard time and the amount of daylight saving offset adjustment. 25 * 26 * @param name The time zone name. 27 * @param rawOffset The UTC offset of its standard time in milliseconds. 28 * @param dstSavings The amount of daylight saving offset adjustment in milliseconds. 29 * If this ia a rule for standard time, the value of this argument is 0. 30 * 31 * @stable ICU 3.8 32 */ 33 public InitialTimeZoneRule(String name, int rawOffset, int dstSavings) { 34 super(name, rawOffset, dstSavings); 35 } 36 37 /** 38 * {@inheritDoc} 39 * 40 * @stable ICU 3.8 41 */ 42 public boolean isEquivalentTo(TimeZoneRule other) { 43 if (other instanceof InitialTimeZoneRule) { 44 return super.isEquivalentTo(other); 45 } 46 return false; 47 } 48 49 /** 50 * {@inheritDoc}<br><br> 51 * Note: This method in <code>InitialTimeZoneRule</code> always returns null. 52 * 53 * @stable ICU 3.8 54 */ 55 public Date getFinalStart(int prevRawOffset, int prevDSTSavings) { 56 // No start time available 57 return null; 58 } 59 60 /** 61 * {@inheritDoc}<br><br> 62 * Note: This method in <code>InitialTimeZoneRule</code> always returns null. 63 * 64 * @stable ICU 3.8 65 */ 66 public Date getFirstStart(int prevRawOffset, int prevDSTSavings) { 67 // No start time available 68 return null; 69 } 70 71 /** 72 * {@inheritDoc}<br><br> 73 * Note: This method in <code>InitialTimeZoneRule</code> always returns null. 74 * 75 * @stable ICU 3.8 76 */ 77 public Date getNextStart(long base, int prevRawOffset, int prevDSTSavings, 78 boolean inclusive) { 79 // No start time available 80 return null; 81 } 82 83 /** 84 * {@inheritDoc}<br><br> 85 * Note: This method in <code>InitialTimeZoneRule</code> always returns null. 86 * 87 * @stable ICU 3.8 88 */ 89 public Date getPreviousStart(long base, int prevRawOffset, 90 int prevDSTSavings, boolean inclusive) { 91 // No start time available 92 return null; 93 } 94 95 /** 96 * {@inheritDoc}<br><br> 97 * Note: This method in <code>InitialTimeZoneRule</code> always returns false. 98 * @stable ICU 3.8 99 */ 100 public boolean isTransitionRule() { 101 return false; 102 } 103} 104