TimeZoneAdapter.java revision 1fba789ac68efdd9120a7373f49daef42833e674
12ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller/* GENERATED SOURCE. DO NOT MODIFY. */
22ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller/*
32ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller **********************************************************************
42ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Copyright (c) 2003-2010, International Business Machines
52ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Corporation and others.  All Rights Reserved.
62ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller **********************************************************************
72ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Author: Alan Liu
82ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Created: October 2 2003
92ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Since: ICU 2.8
102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller **********************************************************************
112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */
122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller
132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerpackage android.icu.impl;
142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport java.util.Date;
152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller
162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerimport android.icu.util.TimeZone;
172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller
182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller/**
191fba789ac68efdd9120a7373f49daef42833e674Neil Fuller * <code>TimeZoneAdapter</code> wraps a android.icu.util.TimeZone
202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * subclass and inherits from java.util.TimeZone.
212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * Without this class, we would need to 'port' java.util.Date to
221fba789ac68efdd9120a7373f49daef42833e674Neil Fuller * android.icu.util as well, so that Date could interoperate properly
231fba789ac68efdd9120a7373f49daef42833e674Neil Fuller * with the android.icu.util TimeZone and Calendar classes.  With this
241fba789ac68efdd9120a7373f49daef42833e674Neil Fuller * class, we can use java.util.Date together with android.icu.util
252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * classes.
262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller *
272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @see android.icu.util.TimeZone#setDefault
282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @author Alan Liu
292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller * @since ICU 2.8
30836e6b40a94ec3fb7545a76cb072960442b7eee9Neil Fuller * @hide Only a subset of ICU is exposed in Android
31704056c96cc5de08c2425fa1679a5c0a92c5a88eNeil Fuller * @hide All android.icu classes are currently hidden
322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller */
332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fullerpublic class TimeZoneAdapter extends java.util.TimeZone {
342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller
352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    // Generated by serialver from JDK 1.4.1_01
362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    static final long serialVersionUID = -2040072218820018557L;
372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller
382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    /**
391fba789ac68efdd9120a7373f49daef42833e674Neil Fuller     * The contained android.icu.util.TimeZone object.  Must not be null.
402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller     * We delegate all methods to this object.
412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller     */
422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    private TimeZone zone;
432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller
442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    /**
452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller     * Given a java.util.TimeZone, wrap it in the appropriate adapter
461fba789ac68efdd9120a7373f49daef42833e674Neil Fuller     * subclass of android.icu.util.TimeZone and return the adapter.
472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller     */
482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    public static java.util.TimeZone wrap(android.icu.util.TimeZone tz) {
492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller        return new TimeZoneAdapter(tz);
502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    }
512ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller
522ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    /**
532ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller     * Return the java.util.TimeZone wrapped by this object.
542ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller     */
552ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    public android.icu.util.TimeZone unwrap() {
562ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller        return zone;
572ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    }
582ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller
592ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    /**
601fba789ac68efdd9120a7373f49daef42833e674Neil Fuller     * Constructs an adapter for a android.icu.util.TimeZone object.
612ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller     */
622ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    public TimeZoneAdapter(TimeZone zone) {
632ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller        this.zone = zone;
642ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller        super.setID(zone.getID());
652ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    }
662ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller
672ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    /**
682ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller     * TimeZone API; calls through to wrapped time zone.
692ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller     */
702ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    public void setID(String ID) {
712ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller        super.setID(ID);
722ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller        zone.setID(ID);
732ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    }
742ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller
752ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    /**
762ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller     * TimeZone API; calls through to wrapped time zone.
772ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller     */
782ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    public boolean hasSameRules(java.util.TimeZone other) {
792ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller        return other instanceof TimeZoneAdapter &&
802ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller            zone.hasSameRules(((TimeZoneAdapter)other).zone);
812ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    }
822ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller
832ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    /**
842ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller     * TimeZone API; calls through to wrapped time zone.
852ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller     */
862ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    public int getOffset(int era, int year, int month, int day, int dayOfWeek,
872ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller                         int millis) {
882ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller        return zone.getOffset(era, year, month, day, dayOfWeek, millis);
892ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    }
902ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller
912ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    /**
922ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller     * TimeZone API; calls through to wrapped time zone.
932ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller     */
942ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    public int getRawOffset() {
952ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller        return zone.getRawOffset();
962ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    }
972ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller
982ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    /**
992ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller     * TimeZone API; calls through to wrapped time zone.
1002ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller     */
1012ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    public void setRawOffset(int offsetMillis) {
1022ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller        zone.setRawOffset(offsetMillis);
1032ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    }
1042ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller
1052ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    /**
1062ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller     * TimeZone API; calls through to wrapped time zone.
1072ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller     */
1082ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    public boolean useDaylightTime() {
1092ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller        return zone.useDaylightTime();
1102ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    }
1112ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller
1122ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    /**
1132ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller     * TimeZone API; calls through to wrapped time zone.
1142ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller     */
1152ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    public boolean inDaylightTime(Date date) {
1162ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller        return zone.inDaylightTime(date);
1172ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    }
1182ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller
1192ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    /**
1202ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller     * Boilerplate API; calls through to wrapped object.
1212ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller     */
1222ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    public Object clone() {
1232ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller        return new TimeZoneAdapter((TimeZone)zone.clone());
1242ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    }
1252ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller
1262ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    /**
1272ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller     * Boilerplate API; calls through to wrapped object.
1282ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller     */
1292ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    public synchronized int hashCode() {
1302ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller        return zone.hashCode();
1312ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    }
1322ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller
1332ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    /**
1342ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller     * Boilerplate API; calls through to wrapped object.
1352ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller     */
1362ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    public boolean equals(Object obj) {
1372ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller        if (obj instanceof TimeZoneAdapter) {
1382ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller            obj = ((TimeZoneAdapter) obj).zone;
1392ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller        }
1402ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller        return zone.equals(obj);
1412ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    }
1422ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller
1432ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    /**
1442ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller     * Returns a string representation of this object.
1452ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller     * @return  a string representation of this object.
1462ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller     */
1472ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    public String toString() {
1482ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller        return "TimeZoneAdapter: " + zone.toString();
1492ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller    }
1502ae130017183d2f66d55bf0ca51f8da3294644fdNeil Fuller}
151