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 */
10package android.icu.util;
11
12import 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 */
21public 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     */
34    public InitialTimeZoneRule(String name, int rawOffset, int dstSavings) {
35        super(name, rawOffset, dstSavings);
36    }
37
38    /**
39     * {@inheritDoc}
40     */
41    @Override
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
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
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
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
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
96    public boolean isTransitionRule() {
97        return false;
98    }
99}
100