Package com.atlassian.applinks.api
Interface EntityLinkService
- All Known Subinterfaces:
SubvertedEntityLinkService
public interface EntityLinkService
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(java.lang.Object, java.lang.Class<? extends com.atlassian.applinks.api.EntityType>)(repHandle);
Is equivalent to:
RepsoitoryData repData = repositoryService.getRepository("my-source");
Iterable<EntityLink> entityLinkService.getEntityLinks(java.lang.Object, java.lang.Class<? extends com.atlassian.applinks.api.EntityType>)(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(java.lang.Object, java.lang.Class<? extends com.atlassian.applinks.api.EntityType>)(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(java.lang.Object, java.lang.Class<? extends com.atlassian.applinks.api.EntityType>)("JRA");
will return an Iterable of EntityLinks that are linked from the JRA JIRA project.- Since:
- 3.0.
-
Method Summary
Modifier and TypeMethodDescriptiongetEntityLinks(Object entity) Returns theEntityLinks that are visible to the context user.getEntityLinks(Object entity, Class<? extends EntityType> type) Returns theEntityLinks that are visible to the context user.getPrimaryEntityLink(Object entity, Class<? extends EntityType> type) There are exactly zero or one primaryEntityLinks of each type configured for each local entity.
-
Method Details
-
getEntityLinks
Returns theEntityLinks that are visible to the context user.- Parameters:
entity- an application specific entity domain object, see class javadoc for more detailstype- the type ofEntityLinks to retrieve (e.g. fisheye-repository)- Returns:
- an
IterablecontainingEntityLinks associated with the specified entity, of the specified type and are visible to the context user
-
getEntityLinks
Returns theEntityLinks that are visible to the context user.- Parameters:
entity- an application specific entity domain object, see class javadoc for more details- Returns:
- an
IterablecontainingEntityLinks associated with the specified entity and are visible to the context user
-
getPrimaryEntityLink
There are exactly zero or one primaryEntityLinks 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 detailstype- the type of primaryEntityLinkto 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
-