@PublicApi public interface

TimeZoneService

com.atlassian.jira.timezone.TimeZoneService
Known Indirect Subclasses

@PublicApi

This interface is designed for plugins to consume (call its methods).

Clients of @PublicApi can expect that programs compiled against a given version will remain binary compatible with later versions of the @PublicApi as per each product's API policy as long as the client does not implement/extend @PublicApi interfaces or classes (refer to each product's API policy for the exact guarantee---usually binary compatibility is guaranteed at least across minor versions).

Note: since @PublicApi interfaces and classes are not designed to be implemented or extended by clients, we may perform certain types of binary-incompatible changes to these classes and interfaces, but these will not affect well-behaved clients that do not extend/implement these types (in general, only classes and interfaces annotated with @PublicSpi are safe to extend/implement).

Class Overview

The TimeZoneService manages the JIRA wide default timezone. This default time zone is either the JVM default time zone or can be configured by the administrator.

The TimeZoneService is also used to retrieve a list of time zone and regions for the administration UI.

Summary

Constants
String JIRA
String SYSTEM
Public Methods
void clearDefaultTimeZone(JiraServiceContext serviceContext)
Reset the default time zone to the JVM time zone.
void clearUserDefaultTimeZone(JiraServiceContext serviceContext)
Resets the time zone for this user to the JIRA default time zone.
TimeZoneInfo getDefaultTimeZoneInfo(JiraServiceContext serviceContext)
Returns the default time zone which is globally configured.
String getDefaultTimeZoneRegionKey()
Return the region key of the current default time zone.
TimeZoneInfo getJVMTimeZoneInfo(JiraServiceContext serviceContext)
Returns the time zone of the JVM
List<TimeZoneInfo> getTimeZoneInfos(JiraServiceContext serviceContext)
Retrieves all time zones.
List<RegionInfo> getTimeZoneRegions(JiraServiceContext serviceContext)
Returns all time zone regions.
TimeZoneInfo getUserTimeZoneInfo(JiraServiceContext serviceContext)
Return the time zone for this user.
void setDefaultTimeZone(String timeZoneId, JiraServiceContext serviceContext)
Allows to set the default time zone.
void setUserDefaultTimeZone(String timeZoneId, JiraServiceContext serviceContext)
Sets the default time zone for this user.
boolean useSystemTimeZone()
Returns true if the JVM time zone is used, otherwise false.
boolean usesJiraTimeZone(JiraServiceContext serviceContext)
Returns true if this user is using the JIRA default time zone or false if the user has is using a custom time zone.

Constants

public static final String JIRA

Constant Value: "JIRA"

public static final String SYSTEM

Constant Value: "System"

Public Methods

public void clearDefaultTimeZone (JiraServiceContext serviceContext)

Reset the default time zone to the JVM time zone.

Parameters
serviceContext JIRA Service Context containing the user that changing the default time zone.

public void clearUserDefaultTimeZone (JiraServiceContext serviceContext)

Resets the time zone for this user to the JIRA default time zone.

Parameters
serviceContext JIRA Service Context containing the user.

public TimeZoneInfo getDefaultTimeZoneInfo (JiraServiceContext serviceContext)

Returns the default time zone which is globally configured. This can either be the JVM time zone or a time zone configured by the administrator.

Parameters
serviceContext JIRA Service Context containing the user that is retrieving the time zone information.
Returns
  • Returns the default time zone

public String getDefaultTimeZoneRegionKey ()

Return the region key of the current default time zone. If the region key is SYSTEM, it indicates it is using the JVM time zone.

Returns
  • region key.

public TimeZoneInfo getJVMTimeZoneInfo (JiraServiceContext serviceContext)

Returns the time zone of the JVM

Parameters
serviceContext JIRA Service Context containing the user that is retrieving the time zone information.
Returns
  • the time zone of the JVM

public List<TimeZoneInfo> getTimeZoneInfos (JiraServiceContext serviceContext)

Retrieves all time zones. Returns only a subset of the time zones which are provided by the JVM. This cannonical list of time zones can be found here: See http://joda-time.sourceforge.net/time zones.html

Parameters
serviceContext JIRA Service Context containing the user that is retrieving the time zone information.
Returns
  • all supported time zones

public List<RegionInfo> getTimeZoneRegions (JiraServiceContext serviceContext)

Returns all time zone regions. Timezones are grouped by region, so it is more convenient for the user to find the correct time zone. Regions have a key and an i18n display name.

Parameters
serviceContext JIRA Service Context containing the user that is retrieving the time zone information.
Returns
  • Returns all time zone regions.

public TimeZoneInfo getUserTimeZoneInfo (JiraServiceContext serviceContext)

Return the time zone for this user. This can either be a time zone which the user has defined in its preferences or the JIRA default time zone. NB: If the user is null JIRA's default time zone is returned.

Parameters
serviceContext JIRA Service Context containing the user.
Returns
  • the TimeZone for this user.

public void setDefaultTimeZone (String timeZoneId, JiraServiceContext serviceContext)

Allows to set the default time zone. The user requires the JIRA administrator permission to perform this operation. Only time zones with IDs returned by getTimeZoneInfos() are supported.

Parameters
timeZoneId the id of the time zone.
serviceContext JIRA Service Context containing the user that changing the default time zone.

public void setUserDefaultTimeZone (String timeZoneId, JiraServiceContext serviceContext)

Sets the default time zone for this user.

Parameters
timeZoneId the time zone id
serviceContext JIRA Service Context containing the user.

public boolean useSystemTimeZone ()

Returns true if the JVM time zone is used, otherwise false.

Returns
  • true if the JVM time zone is used.

public boolean usesJiraTimeZone (JiraServiceContext serviceContext)

Returns true if this user is using the JIRA default time zone or false if the user has is using a custom time zone.

Returns
  • true if this user is using the JIRA default time zone or false if the user has is using a custom time zone.