1 /* GENERATED SOURCE. DO NOT MODIFY. */
2 // © 2016 and later: Unicode, Inc. and others.
3 // License & terms of use: http://www.unicode.org/copyright.html#License
4 /*
5  *******************************************************************************
6  * Copyright (C) 2007-2008, International Business Machines Corporation and    *
7  * others. All Rights Reserved.                                                *
8  *******************************************************************************
9  */
10 package android.icu.util;
11 
12 import java.util.Date;
13 
14 /**
15  * <code>InitialTimeZoneRule</code> represents a time zone rule
16  * representing a time zone effective from the beginning and
17  * has no actual start times.
18  *
19  * @hide Only a subset of ICU is exposed in Android
20  */
21 public class InitialTimeZoneRule extends TimeZoneRule {
22 
23     private static final long serialVersionUID = 1876594993064051206L;
24 
25     /**
26      * Constructs a <code>InitialTimeZoneRule</code> with the name, the GMT offset of its
27      * standard time and the amount of daylight saving offset adjustment.
28      *
29      * @param name          The time zone name.
30      * @param rawOffset     The UTC offset of its standard time in milliseconds.
31      * @param dstSavings    The amount of daylight saving offset adjustment in milliseconds.
32      *                      If this ia a rule for standard time, the value of this argument is 0.
33      */
InitialTimeZoneRule(String name, int rawOffset, int dstSavings)34     public InitialTimeZoneRule(String name, int rawOffset, int dstSavings) {
35         super(name, rawOffset, dstSavings);
36     }
37 
38     /**
39      * {@inheritDoc}
40      */
41     @Override
isEquivalentTo(TimeZoneRule other)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     @Override
getFinalStart(int prevRawOffset, int prevDSTSavings)54     public Date getFinalStart(int prevRawOffset, int prevDSTSavings) {
55         // No start time available
56         return null;
57     }
58 
59     /**
60      * {@inheritDoc}<br><br>
61      * Note: This method in <code>InitialTimeZoneRule</code> always returns null.
62      */
63     @Override
getFirstStart(int prevRawOffset, int prevDSTSavings)64     public Date getFirstStart(int prevRawOffset, int prevDSTSavings) {
65         // No start time available
66         return null;
67     }
68 
69     /**
70      * {@inheritDoc}<br><br>
71      * Note: This method in <code>InitialTimeZoneRule</code> always returns null.
72      */
73     @Override
getNextStart(long base, int prevRawOffset, int prevDSTSavings, boolean inclusive)74     public Date getNextStart(long base, int prevRawOffset, int prevDSTSavings,
75             boolean inclusive) {
76         // No start time available
77         return null;
78     }
79 
80     /**
81      * {@inheritDoc}<br><br>
82      * Note: This method in <code>InitialTimeZoneRule</code> always returns null.
83      */
84     @Override
getPreviousStart(long base, int prevRawOffset, int prevDSTSavings, boolean inclusive)85     public Date getPreviousStart(long base, int prevRawOffset,
86             int prevDSTSavings, boolean inclusive) {
87         // No start time available
88         return null;
89     }
90 
91     /**
92      * {@inheritDoc}<br><br>
93      * Note: This method in <code>InitialTimeZoneRule</code> always returns false.
94      */
95     @Override
isTransitionRule()96     public boolean isTransitionRule() {
97         return false;
98     }
99 }
100