public interface

WebResourceIntegration

com.atlassian.plugin.webresource.WebResourceIntegration
Known Indirect Subclasses

Class Overview

The integration layer between Plugin's Web Resource Handler, and specific applications (eg JIRA, Confluence).

Summary

Public Methods
abstract String getBaseUrl(UrlMode urlMode)
Returns the base URL for this application in either relative or absolute format, depending on the value of urlMode.
abstract String getBaseUrl()
Returns the base URL for this application.
abstract PluginAccessor getPluginAccessor()
Applications must implement this method to get access to the application's PluginAccessor
abstract Map<StringObject> getRequestCache()
This must be a thread-local cache that will be accessible from both the page, and the decorator
abstract String getSuperBatchVersion()
This version number is used for caching URL generation, and needs to be incremented every time the contents of the superbatch may have changed.
abstract String getSystemBuildNumber()
Represents the last time the system was updated.
abstract String getSystemCounter()
Represents the unique number for this system, which when updated will flush the cache.

Public Methods

public abstract String getBaseUrl (UrlMode urlMode)

Returns the base URL for this application in either relative or absolute format, depending on the value of urlMode.

If 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 urlMode == {@link UrlMode#RELATIVE}, this method returns a relative URL containing just the context path.

If 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 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.
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

public abstract 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(UrlMode) with a urlMode value of AUTO.
Returns
  • the string value of the base URL of this application

public abstract PluginAccessor getPluginAccessor ()

Applications must implement this method to get access to the application's PluginAccessor

public abstract Map<StringObject> getRequestCache ()

This must be a thread-local cache that will be accessible from both the page, and the decorator

public abstract String getSuperBatchVersion ()

This version number is used for caching URL generation, and needs to be incremented every time the contents of the superbatch may have changed. Practically this means updating every time the plugin system state changes

Returns
  • a version number

public abstract String getSystemBuildNumber ()

Represents the last time the system was updated. This is generally obtained from BuildUtils or similar.

public abstract String getSystemCounter ()

Represents the unique number for this system, which when updated will flush the cache. This should be a number and is generally stored in the global application-properties.

Returns
  • A string representing the count