Interface ZoneRulesVersion


  • public interface ZoneRulesVersion
    A version of time-zone rules from a single group.

    Zone rule data is provided by organizations or groups. Each group provides multiple versions of their data over time. This interface models one version of data.

    ZoneRulesVersion is a service provider interface that can be called by multiple threads. Implementations must be immutable and thread-safe.

    Implementations are responsible for caching.

    Author:
    Stephen Colebourne
    • Method Detail

      • getVersionID

        String getVersionID()
        Gets the time-zone version ID of the data available via this provider, such as '2010e'.

        Version IDs must match regex [A-Za-z0-9._-]+.

        Returns:
        the ID of the group, never null
      • isRegionID

        boolean isRegionID​(String regionID)
        Checks if the region ID is valid.
        Parameters:
        regionID - the region ID, null returns false
        Returns:
        true if the specified region ID is valid for this group and version
      • getRegionIDs

        Set<String> getRegionIDs()
        Gets the complete set of provided region IDs, such as 'Europe/Paris'.

        Region IDs must match regex [A-Za-z0-9%@~/+._-]+.

        Returns:
        the provided region IDs, unmodifiable, never null
      • getZoneRules

        ZoneRules getZoneRules​(String regionID)
        Gets the zone rules for the specified region ID.

        The region ID should be one of those returned by #getRegionIDs().

        Parameters:
        regionID - the region ID, not null
        Returns:
        the matched zone rules, null if not found