Interface Application

All Known Subinterfaces:
PlatformApplication, PluginApplication

public interface Application
Represents an Application (e.g. Service Desk) installed on top of the platform (e.g. JIRA).

An application may be implemented as a group of plugins PluginApplication or a fundamental part of the platform PlatformApplication or by some other yet to be determined means.

None of the parameters or return values can be null (unless noted otherwise).

Since:
v1.0
  • Method Details

    • getKey

      ApplicationKey getKey()
      Return the ApplicationKey associated with the application.
      Returns:
      the ApplicationKey associated with the application.
    • getName

      String getName()
      Get the name of the application.
      Returns:
      the name of the application. Must not be internationalised.
    • getDescription

      String getDescription()
      Get the description of the application.

      The description should be internationalised for the calling user.

      Returns:
      the internationalised description for the calling user.
    • getVersion

      String getVersion()
      Get the version of the application.

      In the case of plugin applications, this will be the version of the primary plugin.

      Returns:
      the version of the application.
    • getUserCountDescription

      String getUserCountDescription(io.atlassian.fugue.Option<Integer> count)
      Returns the internationalised description for the passed number of users. For example, JIRA Service Desk might return "agent" and "agents" depending on the count.

      The returned value is expected to be in lowercase and internationalised for the calling user.

      Parameters:
      count - the number of users to generate the description for. Option.none() can be passed to get the description of an unlimited number of users.
      Returns:
      the internationalised name for the passed number of users.
    • getConfigurationURI

      io.atlassian.fugue.Option<URI> getConfigurationURI()
      Get the relative URI for the configuration of the application. The context path must not be included.

      Option.none() can be returned to indicate that there is no configuration path.

      Returns:
      the relative URI to the configuration page minus the context path or Option.none() if no such path exists.
    • getPostInstallURI

      io.atlassian.fugue.Option<URI> getPostInstallURI()
      Get the relative URI to show after the application is installed. The context path must not be included.

      Option.none() can be returned to indicate that there is no path.

      Returns:
      the relative URI to the post install page minus the context path or Option.none() if no such path exists.
    • getPostUpdateURI

      io.atlassian.fugue.Option<URI> getPostUpdateURI()
      Get the relative URI to show after the application is updated. The context path must not be included.

      Option.none() can be returned to indicate that there is no path.

      Returns:
      the relative URI to the post update page minus the context path or Option.none() if no such path exists.
    • getProductHelpServerSpaceURI

      io.atlassian.fugue.Option<URI> getProductHelpServerSpaceURI()
      Returns relative URI to use as target space for product user helplinks.

      Option.none() can be returned to indicate that there is no server help space.

      Returns:
      the server help space to point product user helplinks to Option.none() if no such space exists.
    • getProductHelpCloudSpaceURI

      io.atlassian.fugue.Option<URI> getProductHelpCloudSpaceURI()
      Returns relative URI to use as target space for product user helplinks in cloud.

      Option.none() can be returned to indicate that there is no cloud help space.

      Returns:
      the cloud help space to point product user helplinks to Option.none() if no such space exists.
    • buildZonedDate

      ZonedDateTime buildZonedDate()
      Return the build date of the application.
      Returns:
      the build date of the application.
    • getLicense

      io.atlassian.fugue.Option<com.atlassian.sal.api.license.SingleProductLicenseDetailsView> getLicense()
      Return the license associated with the application. Option.none() will be returned if no such license exists (aka the application is unlicensed).
      Returns:
      the license associated with application or Option.none() if no such license exists.
    • getAccess

      ApplicationAccess getAccess()
      Return the ApplicationAccess associated with the application.
      Returns:
      the ApplicationAccess associated with the Application.
    • getDefaultGroup

      String getDefaultGroup()
      Get the default user group defined for the application.
      Returns:
      the default user group of the application.
    • clearConfiguration

      void clearConfiguration()
      Clear (remove) application's configuration. This is typically implemented by the host system and should be a no-op when not implemented.