Class BambooWebResourceIntegration

  • All Implemented Interfaces:
    com.atlassian.plugin.webresource.WebResourceIntegration

    public class BambooWebResourceIntegration
    extends Object
    implements com.atlassian.plugin.webresource.WebResourceIntegration
    The integration layer between Plugin's Web Resource Handler, and specific applications (eg Bamboo).
    • Constructor Detail

      • BambooWebResourceIntegration

        @Inject
        public BambooWebResourceIntegration​(String superBatchVersion)
    • Method Detail

      • getPluginAccessor

        public com.atlassian.plugin.PluginAccessor getPluginAccessor()
        Applications must implement this method to get access to the application's PluginAccessor
        Specified by:
        getPluginAccessor in interface com.atlassian.plugin.webresource.WebResourceIntegration
      • getRequestCache

        public Map<String,​Object> getRequestCache()
        This must be a thread-local cache that will be accessible from both the page, and the decorator
        Specified by:
        getRequestCache in interface com.atlassian.plugin.webresource.WebResourceIntegration
      • getResourceUrlPrefix

        public String getResourceUrlPrefix()
        Specified by:
        getResourceUrlPrefix in interface com.atlassian.plugin.webresource.WebResourceIntegration
      • rebuildResourceUrlPrefix

        public void rebuildResourceUrlPrefix()
        Specified by:
        rebuildResourceUrlPrefix in interface com.atlassian.plugin.webresource.WebResourceIntegration
      • getSystemBuildNumber

        public String getSystemBuildNumber()
        Represents the last time the system was updated. This is generally obtained from BuildUtils or similar.
        Specified by:
        getSystemBuildNumber in interface com.atlassian.plugin.webresource.WebResourceIntegration
      • getBaseUrl

        public String getBaseUrl()
        Returns the base URL for this application. This method may return either an absolute or a relative URL. Implementations are free to determine which mode to use based on any criteria of their choosing. For example, an implementation may choose to return a relative URL if it detects that it is running in the context of an HTTP request, and an absolute URL if it detects that it is not. Or it may choose to always return an absolute URL, or always return a relative URL. Callers should only use this method when they are sure that either an absolute or a relative URL will be appropriate, and should not rely on any particular observed behavior regarding how this value is interpreted, which may vary across different implementations.

        In general, the behavior of this method should be equivalent to calling getBaseUrl(com.atlassian.plugin.webresource.UrlMode) with a urlMode value of UrlMode.AUTO.

        Specified by:
        getBaseUrl in interface com.atlassian.plugin.webresource.WebResourceIntegration
        Returns:
        the string value of the base URL of this application
      • getBaseUrl

        public String getBaseUrl​(com.atlassian.plugin.webresource.UrlMode urlMode)
        Returns the base URL for this application in either relative or absolute format, depending on the value of urlMode.

        If {@code urlMode == {@link UrlMode#ABSOLUTE}, this method returns an absolute URL, with URL scheme, hostname, port (if non-standard for the scheme), and context path.

        If {@code urlMode == {@link UrlMode#RELATIVE}, this method returns a relative URL containing just the context path.

        If {@code urlMode == {@link UrlMode#AUTO}, this method may return either an absolute or a relative URL. Implementations are free to determine which mode to use based on any criteria of their choosing. For example, an implementation may choose to return a relative URL if it detects that it is running in the context of an HTTP request, and an absolute URL if it detects that it is not. Or it may choose to always return an absolute URL, or always return a relative URL. Callers should only use {@code WebResourceManager.UrlMode#AUTO} when they are sure that either an absolute or a relative URL will be appropriate, and should not rely on any particular observed behavior regarding how this value is interpreted, which may vary across different implementations.

        Specified by:
        getBaseUrl in interface com.atlassian.plugin.webresource.WebResourceIntegration
        Parameters:
        urlMode - specifies whether to use absolute URLs, relative URLs, or allow the concrete implementation to decide
        Returns:
        the string value of the base URL of this application
        Since:
        2.3.0
      • getSuperBatchVersion

        public String getSuperBatchVersion()
        Superbatch resource path will contain value returned by WebResourceIntegration.getSystemCounter(), hence there's no need to return different value for dev mode or when caches are disabled.
        Specified by:
        getSuperBatchVersion in interface com.atlassian.plugin.webresource.WebResourceIntegration
      • getTemporaryDirectory

        public File getTemporaryDirectory()
        Specified by:
        getTemporaryDirectory in interface com.atlassian.plugin.webresource.WebResourceIntegration
      • allowedCondition1Keys

        public Set<String> allowedCondition1Keys()
        Specified by:
        allowedCondition1Keys in interface com.atlassian.plugin.webresource.WebResourceIntegration
      • allowedTransform1Keys

        public Set<String> allowedTransform1Keys()
        Specified by:
        allowedTransform1Keys in interface com.atlassian.plugin.webresource.WebResourceIntegration
      • forbidCondition1AndTransformer1

        public boolean forbidCondition1AndTransformer1()
        Specified by:
        forbidCondition1AndTransformer1 in interface com.atlassian.plugin.webresource.WebResourceIntegration
      • getStaticResourceLocale

        public String getStaticResourceLocale()
        Specified by:
        getStaticResourceLocale in interface com.atlassian.plugin.webresource.WebResourceIntegration
      • getCDNStrategy

        public com.atlassian.plugin.webresource.cdn.CDNStrategy getCDNStrategy()
        Specified by:
        getCDNStrategy in interface com.atlassian.plugin.webresource.WebResourceIntegration
      • getLocale

        public Locale getLocale()
        Specified by:
        getLocale in interface com.atlassian.plugin.webresource.WebResourceIntegration
      • getI18nRawText

        @NotNull
        public @NotNull String getI18nRawText​(Locale locale,
                                              String s)
        Specified by:
        getI18nRawText in interface com.atlassian.plugin.webresource.WebResourceIntegration
      • getI18nText

        public String getI18nText​(Locale locale,
                                  String s)
        Specified by:
        getI18nText in interface com.atlassian.plugin.webresource.WebResourceIntegration
      • getPluginEventManager

        public com.atlassian.plugin.event.PluginEventManager getPluginEventManager()
        Specified by:
        getPluginEventManager in interface com.atlassian.plugin.webresource.WebResourceIntegration
      • getHostApplicationVersion

        public String getHostApplicationVersion()
        Specified by:
        getHostApplicationVersion in interface com.atlassian.plugin.webresource.WebResourceIntegration
      • getI18nStateHash

        public String getI18nStateHash()
        Specified by:
        getI18nStateHash in interface com.atlassian.plugin.webresource.WebResourceIntegration
      • getSupportedLocales

        public Iterable<Locale> getSupportedLocales()
        Specified by:
        getSupportedLocales in interface com.atlassian.plugin.webresource.WebResourceIntegration
      • getEventPublisher

        @NotNull
        public @NotNull com.atlassian.event.api.EventPublisher getEventPublisher()
        Specified by:
        getEventPublisher in interface com.atlassian.plugin.webresource.WebResourceIntegration
      • getDarkFeatureManager

        @Nullable
        public @Nullable com.atlassian.sal.api.features.DarkFeatureManager getDarkFeatureManager()
        Specified by:
        getDarkFeatureManager in interface com.atlassian.plugin.webresource.WebResourceIntegration