2 *******************************************************************************
\r
3 * Copyright (C) 2008, International Business Machines Corporation and *
\r
4 * others. All Rights Reserved. *
\r
5 *******************************************************************************
\r
7 package com.ibm.icu.impl.jdkadapter;
\r
9 import java.util.Date;
\r
10 import java.util.Locale;
\r
12 import com.ibm.icu.impl.icuadapter.TimeZoneJDK;
\r
13 import com.ibm.icu.util.TimeZone;
\r
16 * TimeZoneICU is an adapter class which wraps ICU4J TimeZone and
\r
17 * implements java.util.TimeZone APIs.
\r
19 public class TimeZoneICU extends java.util.TimeZone {
\r
21 private static final long serialVersionUID = 6019030618408620277L;
\r
23 private TimeZone fIcuTz;
\r
25 private TimeZoneICU(TimeZone icuTz) {
\r
29 public static java.util.TimeZone wrap(TimeZone icuTz) {
\r
30 if (icuTz instanceof TimeZoneJDK) {
\r
31 return ((TimeZoneJDK)icuTz).unwrap();
\r
33 return new TimeZoneICU(icuTz);
\r
36 public TimeZone unwrap() {
\r
41 public Object clone() {
\r
42 TimeZoneICU other = (TimeZoneICU)super.clone();
\r
43 other.fIcuTz = (TimeZone)fIcuTz.clone();
\r
47 //public String getDisplayName()
\r
48 //public String getDisplayName(boolean daylight, int style)
\r
49 //public String getDisplayName(Locale locale)
\r
52 public String getDisplayName(boolean daylight, int style, Locale locale) {
\r
53 return fIcuTz.getDisplayName(daylight, style, locale);
\r
57 public int getDSTSavings() {
\r
58 return fIcuTz.getDSTSavings();
\r
62 public String getID() {
\r
63 return fIcuTz.getID();
\r
67 public int getOffset(int era, int year, int month, int day, int dayOfWeek, int milliseconds) {
\r
68 return fIcuTz.getOffset(era, year, month, day, dayOfWeek, milliseconds);
\r
72 public int getOffset(long date) {
\r
73 return fIcuTz.getOffset(date);
\r
77 public int getRawOffset() {
\r
78 return fIcuTz.getRawOffset();
\r
82 public boolean hasSameRules(java.util.TimeZone other) {
\r
83 return other.hasSameRules(TimeZoneICU.wrap(fIcuTz));
\r
87 public boolean inDaylightTime(Date date) {
\r
88 return fIcuTz.inDaylightTime(date);
\r
92 public void setID(String ID) {
\r
97 public void setRawOffset(int offsetMillis) {
\r
98 fIcuTz.setRawOffset(offsetMillis);
\r
102 public boolean useDaylightTime() {
\r
103 return fIcuTz.useDaylightTime();
\r