blob: 014c959a7a3f9acd1f87af71a9edd155bfdba8e0 [file] [log] [blame]
/*
*******************************************************************************
* 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();
}
}