Class TimeZoneServiceCachingDecorator

java.lang.Object
com.atlassian.jira.timezone.TimeZoneServiceCachingDecorator
All Implemented Interfaces:
TimeZoneService

public class TimeZoneServiceCachingDecorator extends Object implements TimeZoneService
Caches user time zones on a per-request basis.
Since:
v4.4
  • Constructor Details

    • TimeZoneServiceCachingDecorator

      public TimeZoneServiceCachingDecorator(TimeZoneService timeZoneService)
      Creates a new TimeZoneServiceCachingDecorator.
      Parameters:
      timeZoneService - a TimeZoneService
  • Method Details

    • setUserDefaultTimeZone

      public void setUserDefaultTimeZone(String timeZoneId, JiraServiceContext serviceContext)
      Description copied from interface: TimeZoneService
      Sets the default time zone for this user.
      Specified by:
      setUserDefaultTimeZone in interface TimeZoneService
      Parameters:
      timeZoneId - the time zone id
      serviceContext - JIRA Service Context containing the user.
    • clearUserDefaultTimeZone

      public void clearUserDefaultTimeZone(JiraServiceContext serviceContext)
      Description copied from interface: TimeZoneService
      Resets the time zone for this user to the JIRA default time zone.
      Specified by:
      clearUserDefaultTimeZone in interface TimeZoneService
      Parameters:
      serviceContext - JIRA Service Context containing the user.
    • setDefaultTimeZone

      public void setDefaultTimeZone(String timeZoneId, JiraServiceContext serviceContext)
      Description copied from interface: TimeZoneService
      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.
      Specified by:
      setDefaultTimeZone in interface TimeZoneService
      Parameters:
      timeZoneId - the id of the time zone.
      serviceContext - JIRA Service Context containing the user that changing the default time zone.
    • clearDefaultTimeZone

      public void clearDefaultTimeZone(JiraServiceContext serviceContext)
      Description copied from interface: TimeZoneService
      Reset the default time zone to the JVM time zone.
      Specified by:
      clearDefaultTimeZone in interface TimeZoneService
      Parameters:
      serviceContext - JIRA Service Context containing the user that changing the default time zone.
    • getUserTimeZoneInfo

      public TimeZoneInfo getUserTimeZoneInfo(JiraServiceContext serviceContext)
      Description copied from interface: TimeZoneService
      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.
      Specified by:
      getUserTimeZoneInfo in interface TimeZoneService
      Parameters:
      serviceContext - JIRA Service Context containing the user.
      Returns:
      the TimeZone for this user.
    • getJVMTimeZoneInfo

      public TimeZoneInfo getJVMTimeZoneInfo(JiraServiceContext serviceContext)
      Description copied from interface: TimeZoneService
      Returns the time zone of the JVM
      Specified by:
      getJVMTimeZoneInfo in interface TimeZoneService
      Parameters:
      serviceContext - JIRA Service Context containing the user that is retrieving the time zone information.
      Returns:
      the time zone of the JVM
    • getDefaultTimeZoneInfo

      public TimeZoneInfo getDefaultTimeZoneInfo(JiraServiceContext serviceContext)
      Description copied from interface: TimeZoneService
      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.
      Specified by:
      getDefaultTimeZoneInfo in interface TimeZoneService
      Parameters:
      serviceContext - JIRA Service Context containing the user that is retrieving the time zone information.
      Returns:
      Returns the default time zone
    • getTimeZoneRegions

      public List<RegionInfo> getTimeZoneRegions(JiraServiceContext serviceContext)
      Description copied from interface: TimeZoneService
      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.
      Specified by:
      getTimeZoneRegions in interface TimeZoneService
      Parameters:
      serviceContext - JIRA Service Context containing the user that is retrieving the time zone information.
      Returns:
      Returns all time zone regions.
    • getTimeZoneInfos

      public List<TimeZoneInfo> getTimeZoneInfos(JiraServiceContext serviceContext)
      Description copied from interface: TimeZoneService
      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
      Specified by:
      getTimeZoneInfos in interface TimeZoneService
      Parameters:
      serviceContext - JIRA Service Context containing the user that is retrieving the time zone information.
      Returns:
      all supported time zones
    • getDefaultTimeZoneRegionKey

      public String getDefaultTimeZoneRegionKey()
      Description copied from interface: TimeZoneService
      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.
      Specified by:
      getDefaultTimeZoneRegionKey in interface TimeZoneService
      Returns:
      region key.
    • useSystemTimeZone

      public boolean useSystemTimeZone()
      Description copied from interface: TimeZoneService
      Returns true if the JVM time zone is used, otherwise false.
      Specified by:
      useSystemTimeZone in interface TimeZoneService
      Returns:
      true if the JVM time zone is used.
    • usesJiraTimeZone

      public boolean usesJiraTimeZone(JiraServiceContext serviceContext)
      Description copied from interface: TimeZoneService
      Returns true if this user is using the JIRA default time zone or false if the user has is using a custom time zone.
      Specified by:
      usesJiraTimeZone in interface TimeZoneService
      Parameters:
      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.