public class

RefAppInternalHostApplication

extends AbstractInternalHostApplication
implements LifecycleAware
java.lang.Object
   ↳ com.atlassian.applinks.host.spi.AbstractInternalHostApplication
     ↳ com.atlassian.applinks.core.refapp.RefAppInternalHostApplication

Class Overview

The refapp does not support the concept of an "instance name", so our application-specific modules include an admin page that allows the user to specify a unique name for its instance. This name is then stored using SAL's com.atlassian.sal.api.pluginsettings.PluginSettings.

When the refapp is first started up and the user has not yet provided an instance name, a name is automatically generated. NB: Has to implement com.atlassian.sal.api.lifecycle.LifecycleAware again, this is due to a possible bug https://studio.atlassian.com/browse/PLUG-635 in the plugins framework, where the byte code scanning doesn't detect this interface as required and will lead to a ClassNotFoundException, when trying to auto-wire this class.

Summary

Constants
String INSTANCE_NAME_KEY
String REFAPP_PREFIX
String SERVER_ID
[Expand]
Inherited Fields
From class com.atlassian.applinks.host.spi.AbstractInternalHostApplication
Public Constructors
RefAppInternalHostApplication(PluginSettingsFactory pluginSettingsFactory, ApplicationProperties applicationProperties, PluginAccessor pluginAccessor, ProjectManager projectManager, InternalTypeAccessor typeAccessor, UserManager userManager)
Public Methods
boolean canManageEntityLinksFor(EntityReference entityReference)
boolean doesEntityExist(String key, Class<? extends EntityType> type)
boolean doesEntityExistNoPermissionCheck(String key, Class<? extends EntityType> type)
URI getBaseUrl()
URI getDocumentationBaseUrl()
ApplicationId getId()
Iterable<EntityReference> getLocalEntities()
String getName()
ApplicationType getType()
boolean hasPublicSignup()
void onStart()
Checks to see if an instance name has already been provided.
EntityReference toEntityReference(Object domainObject)
EntityReference toEntityReference(String key, Class<? extends EntityType> type)
[Expand]
Inherited Methods
From class com.atlassian.applinks.host.spi.AbstractInternalHostApplication
From class java.lang.Object
From interface com.atlassian.applinks.host.spi.HostApplication
From interface com.atlassian.applinks.host.spi.InternalHostApplication
From interface com.atlassian.sal.api.lifecycle.LifecycleAware

Constants

public static final String INSTANCE_NAME_KEY

Constant Value: "com.atlassian.applinks.host.refapp.instanceName"

public static final String REFAPP_PREFIX

Constant Value: "com.atlassian.applinks.host.refapp"

public static final String SERVER_ID

Constant Value: "com.atlassian.applinks.host.refapp.serverId"

Public Constructors

public RefAppInternalHostApplication (PluginSettingsFactory pluginSettingsFactory, ApplicationProperties applicationProperties, PluginAccessor pluginAccessor, ProjectManager projectManager, InternalTypeAccessor typeAccessor, UserManager userManager)

Public Methods

public boolean canManageEntityLinksFor (EntityReference entityReference)

public boolean doesEntityExist (String key, Class<? extends EntityType> type)

public boolean doesEntityExistNoPermissionCheck (String key, Class<? extends EntityType> type)

public URI getBaseUrl ()

public URI getDocumentationBaseUrl ()

public ApplicationId getId ()

public Iterable<EntityReference> getLocalEntities ()

public String getName ()

public ApplicationType getType ()

public boolean hasPublicSignup ()

public void onStart ()

Checks to see if an instance name has already been provided. If not, auto-generate it.

public EntityReference toEntityReference (Object domainObject)

public EntityReference toEntityReference (String key, Class<? extends EntityType> type)