/* ******************************************************************************* * Copyright (C) 2008, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.impl.jdkadapter; import java.util.Date; import java.util.Locale; import com.ibm.icu.impl.icuadapter.TimeZoneJDK; import com.ibm.icu.util.TimeZone; /** * TimeZoneICU is an adapter class which wraps ICU4J TimeZone and * implements java.util.TimeZone APIs. */ public class TimeZoneICU extends java.util.TimeZone { private static final long serialVersionUID = 6019030618408620277L; private TimeZone fIcuTz; private TimeZoneICU(TimeZone icuTz) { fIcuTz = icuTz; } public static java.util.TimeZone wrap(TimeZone icuTz) { if (icuTz instanceof TimeZoneJDK) { return ((TimeZoneJDK)icuTz).unwrap(); } return new TimeZoneICU(icuTz); } public TimeZone unwrap() { return fIcuTz; } @Override public Object clone() { TimeZoneICU other = (TimeZoneICU)super.clone(); other.fIcuTz = (TimeZone)fIcuTz.clone(); return other; } //public String getDisplayName() //public String getDisplayName(boolean daylight, int style) //public String getDisplayName(Locale locale) @Override public String getDisplayName(boolean daylight, int style, Locale locale) { return fIcuTz.getDisplayName(daylight, style, locale); } @Override public int getDSTSavings() { return fIcuTz.getDSTSavings(); } @Override public String getID() { return fIcuTz.getID(); } @Override public int getOffset(int era, int year, int month, int day, int dayOfWeek, int milliseconds) { return fIcuTz.getOffset(era, year, month, day, dayOfWeek, milliseconds); } @Override public int getOffset(long date) { return fIcuTz.getOffset(date); } @Override public int getRawOffset() { return fIcuTz.getRawOffset(); } @Override public boolean hasSameRules(java.util.TimeZone other) { return other.hasSameRules(TimeZoneICU.wrap(fIcuTz)); } @Override public boolean inDaylightTime(Date date) { return fIcuTz.inDaylightTime(date); } @Override public void setID(String ID) { fIcuTz.setID(ID); } @Override public void setRawOffset(int offsetMillis) { fIcuTz.setRawOffset(offsetMillis); } @Override public boolean useDaylightTime() { return fIcuTz.useDaylightTime(); } }