public interface

EntityLinkService

com.atlassian.applinks.api.EntityLinkService
Known Indirect Subclasses

Class Overview

Provides methods for retrieving entities from linked applications that are associated with local entities (e.g. JIRA projects, Confluence spaces, etc.).


The Object typed first parameters of this interface's methods are Strings and/or domain objects that represent project entities from the API of each Atlassian host application. This is specific to each application that the Unified Application Links plugin is deployed to.


For example, in FishEye/Crucible:

   RepositoryHandle repHandle = repositoryManager.getRepository("my-source");
   Iterable<EntityLink> entityLinkService.getEntityLinks(Object)(repHandle);
 
Is equivalent to:
   RepsoitoryData repData = repositoryService.getRepository("my-source");
   Iterable<EntityLink> entityLinkService.getEntityLinks(Object)(repData);
 
Both will return an Iterable of EntityLinks that are linked from the "my-source" FishEye repository.

Whereas:

   Project project = projectManager.getProjectByKey("CR-MYSRC");
   Iterable<EntityLink> entityLinkService.getEntityLinks(Object)(project);
 
will return an Iterable of EntityLinks that are linked from the CR-MYSRC FishEye/Crucible project.

In JIRA and Confluence, where there is only one type of entity which can be linked, you can instead simply provide a String identifier for the entity, for example:

   Iterable<EntityLink> entityLinkService.getEntityLinks(Object)("JRA");
 
will return an Iterable of EntityLinks that are linked from the JRA JIRA project.

Summary

Public Methods
abstract Iterable<EntityLink> getEntityLinks(Object entity, Class<? extends EntityType> type)
Returns the EntityLinks that are visible to the context user.
abstract Iterable<EntityLink> getEntityLinks(Object entity)
Returns the EntityLinks that are visible to the context user.
abstract EntityLink getPrimaryEntityLink(Object entity, Class<? extends EntityType> type)
There are exactly zero or one primary EntityLinks of each type configured for each local entity.

Public Methods

public abstract Iterable<EntityLink> getEntityLinks (Object entity, Class<? extends EntityType> type)

Returns the EntityLinks that are visible to the context user.

Parameters
entity an application specific entity domain object, see class javadoc for more details
type the type of EntityLinks to retrieve (e.g. fisheye-repository)
Returns
  • an Iterable containing EntityLinks associated with the specified entity, of the specified type and are visible to the context user

public abstract Iterable<EntityLink> getEntityLinks (Object entity)

Returns the EntityLinks that are visible to the context user.

Parameters
entity an application specific entity domain object, see class javadoc for more details
Returns
  • an Iterable containing EntityLinks associated with the specified entity and are visible to the context user

public abstract EntityLink getPrimaryEntityLink (Object entity, Class<? extends EntityType> type)

There are exactly zero or one primary EntityLinks of each type configured for each local entity. If any links of the specified type exist, exactly one of them will be primary.

Parameters
entity an application specific entity domain object, see class javadoc for more details
type the type of primary EntityLink to retrieve (e.g. fisheye-repository)
Returns
  • the primary entity link of the specified type, or null if no remote entities of the specified type have been linked