java.util.spi
Class TimeZoneNameProvider

java.lang.Object
  extended by java.util.spi.LocaleServiceProvider
      extended by java.util.spi.TimeZoneNameProvider

public abstract class TimeZoneNameProvider
extends LocaleServiceProvider

A TimeZoneNameProvider provides localized versions of the names that represent a particular timezone. A null value may be returned, which should be treated as a lack of support for the specified Locale. The names from this class are also used by DateFormatSymbols#getZoneStrings().

Since:
1.6

Constructor Summary
protected TimeZoneNameProvider()
          Constructs a new TimeZoneNameProvider.
 
Method Summary
abstract  String getDisplayName(String id, boolean daylight, int style, Locale locale)
          Returns a name for the specified time zone identifier localized to the supplied Locale.
 
Methods inherited from class java.util.spi.LocaleServiceProvider
getAvailableLocales
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TimeZoneNameProvider

protected TimeZoneNameProvider()
Constructs a new TimeZoneNameProvider. Provided for implicit invocation by subclasses.

Method Detail

getDisplayName

public abstract String getDisplayName(String id,
                                      boolean daylight,
                                      int style,
                                      Locale locale)
Returns a name for the specified time zone identifier localized to the supplied Locale. The time zone identifier is either "GMT" or one of the identifiers from the public domain "tz database" found at ftp://elsie.nci.nih.gov/pub. Note that a translated name for the daylight savings time variant should be returned, even if the timezone has not observed daylight savings time in the past. If the name of the timezone in the given locale is not supported, null is returned.

Parameters:
id - a time zone identifier.
daylight - true if the daylight savings time variant should be returned.
style - either java.util.TimeZone.LONG or java.util.TimeZone.SHORT
locale - the locale to express the timezone in.
Returns:
the localized time zone name, or null if one is not available.
Throws:
NullPointerException - if the identifer or locale is null.
IllegalArgumentException - if the style is invalid or the locale is not one returned by LocaleServiceProvider.getAvailableLocales()
See Also:
TimeZone.getDisplayName(boolean,int,java.util.Locale)