Class TZDBTimeZoneNames

  • All Implemented Interfaces:
    java.io.Serializable

    public class TZDBTimeZoneNames
    extends TimeZoneNames
    Yet another TimeZoneNames implementation based on the tz database. This implementation contains only tz abbreviations (short standard and daylight names) for each metazone. The data file $ICU4C_ROOT/source/data/zone/tzdbNames.txt contains the metazone - abbreviations mapping data (manually edited). Note: The abbreviations in the tz database are not necessarily unique. For example, parsing abbreviation "IST" is ambiguous (can be parsed as India Standard Time or Israel Standard Time). The data file (tzdbNames.txt) contains regional mapping, and the locale in the constructor is used as a hint for resolving these ambiguous names.
    See Also:
    Serialized Form
    • Constructor Detail

      • TZDBTimeZoneNames

        public TZDBTimeZoneNames​(ULocale loc)
    • Method Detail

      • getAvailableMetaZoneIDs

        public java.util.Set<java.lang.String> getAvailableMetaZoneIDs()
        Description copied from class: TimeZoneNames
        Returns an immutable set of all available meta zone IDs.
        Specified by:
        getAvailableMetaZoneIDs in class TimeZoneNames
        Returns:
        An immutable set of all available meta zone IDs.
      • getAvailableMetaZoneIDs

        public java.util.Set<java.lang.String> getAvailableMetaZoneIDs​(java.lang.String tzID)
        Description copied from class: TimeZoneNames
        Returns an immutable set of all available meta zone IDs used by the given time zone.
        Specified by:
        getAvailableMetaZoneIDs in class TimeZoneNames
        Parameters:
        tzID - The canonical time zone ID.
        Returns:
        An immutable set of all available meta zone IDs used by the given time zone.
      • getMetaZoneID

        public java.lang.String getMetaZoneID​(java.lang.String tzID,
                                              long date)
        Description copied from class: TimeZoneNames
        Returns the meta zone ID for the given canonical time zone ID at the given date.
        Specified by:
        getMetaZoneID in class TimeZoneNames
        Parameters:
        tzID - The canonical time zone ID.
        date - The date.
        Returns:
        The meta zone ID for the given time zone ID at the given date. If the time zone does not have a corresponding meta zone at the given date or the implementation does not support meta zones, null is returned.
      • getReferenceZoneID

        public java.lang.String getReferenceZoneID​(java.lang.String mzID,
                                                   java.lang.String region)
        Description copied from class: TimeZoneNames
        Returns the reference zone ID for the given meta zone ID for the region. Note: Each meta zone must have a reference zone associated with a special region "001" (world). Some meta zones may have region specific reference zone IDs other than the special region "001". When a meta zone does not have any region specific reference zone IDs, this method return the reference zone ID for the special region "001" (world).
        Specified by:
        getReferenceZoneID in class TimeZoneNames
        Parameters:
        mzID - The meta zone ID.
        region - The region.
        Returns:
        The reference zone ID ("golden zone" in the LDML specification) for the given time zone ID for the region. If the meta zone is unknown or the implementation does not support meta zones, null is returned.
      • getMetaZoneDisplayName

        public java.lang.String getMetaZoneDisplayName​(java.lang.String mzID,
                                                       TimeZoneNames.NameType type)
        Description copied from class: TimeZoneNames
        Returns the display name of the meta zone.
        Specified by:
        getMetaZoneDisplayName in class TimeZoneNames
        Parameters:
        mzID - The meta zone ID.
        type - The display name type. See TimeZoneNames.NameType.
        Returns:
        The display name of the meta zone. When this object does not have a localized display name for the given meta zone with the specified type or the implementation does not provide any display names associated with meta zones, null is returned.
      • prepareFind

        private static void prepareFind()
      • getTargetRegion

        private java.lang.String getTargetRegion()