@PublicApi public interface

IssueLinkTypeManager

com.atlassian.jira.issue.link.IssueLinkTypeManager
Known Indirect Subclasses

@PublicApi

This interface is designed for plugins to consume (call its methods).

Clients of @PublicApi can expect that programs compiled against a given version will remain binary compatible with later versions of the @PublicApi as per each product's API policy as long as the client does not implement/extend @PublicApi interfaces or classes (refer to each product's API policy for the exact guarantee---usually binary compatibility is guaranteed at least across minor versions).

Note: since @PublicApi interfaces and classes are not designed to be implemented or extended by clients, we may perform certain types of binary-incompatible changes to these classes and interfaces, but these will not affect well-behaved clients that do not extend/implement these types (in general, only classes and interfaces annotated with @PublicSpi are safe to extend/implement).

Class Overview

Manages IssueLinkTypes.

Summary

Public Methods
void createIssueLinkType(String name, String outward, String inward, String style)
IssueLinkType getIssueLinkType(Long id)
Returns a user-defined (non-system) issue link type object for the specified ID.
IssueLinkType getIssueLinkType(Long id, boolean excludeSystemLinks)
Collection<IssueLinkType> getIssueLinkTypes(boolean excludeSystemLinks)
Collection<IssueLinkType> getIssueLinkTypes()
Returns only user-defined (non-system) IssueLinkType objects
Collection<IssueLinkType> getIssueLinkTypesByInwardDescription(String desc)
Returns a collection of IssueLinkTypes with the given description as the inward description.
Collection<IssueLinkType> getIssueLinkTypesByName(String name)
Returns a collection of IssueLinkTypes with the given name.
Collection<IssueLinkType> getIssueLinkTypesByOutwardDescription(String desc)
Returns a collection of IssueLinkTypes with the given description as the outward description.
Collection<IssueLinkType> getIssueLinkTypesByStyle(String style)
void removeIssueLinkType(Long issueLinkTypeId)
This method removed the issue link type from the database
WARNING: This method DOES NOT check if there are any existing issue links of this issue link type.
void updateIssueLinkType(IssueLinkType issueLinkType, String name, String outward, String inward)

Public Methods

public void createIssueLinkType (String name, String outward, String inward, String style)

public IssueLinkType getIssueLinkType (Long id)

Returns a user-defined (non-system) issue link type object for the specified ID.

Parameters
id the id
Returns
  • the issue link type object

public IssueLinkType getIssueLinkType (Long id, boolean excludeSystemLinks)

Parameters
id the id of the issue link type
excludeSystemLinks whether or not to exclude system links
Returns
  • the issue link type object

public Collection<IssueLinkType> getIssueLinkTypes (boolean excludeSystemLinks)

Parameters
excludeSystemLinks whether or not to exclude system links
Returns
  • the collection of IssueLinkType objects

public Collection<IssueLinkType> getIssueLinkTypes ()

Returns only user-defined (non-system) IssueLinkType objects

Returns
  • the collection

public Collection<IssueLinkType> getIssueLinkTypesByInwardDescription (String desc)

Returns a collection of IssueLinkTypes with the given description as the inward description.

There is no restriction on inward and outward descriptions being unique across issue link types, which is why this may return more than one IssueLinkType.

Parameters
desc the inward description to search on
Returns
  • the collection of matched issue link types; never null.

public Collection<IssueLinkType> getIssueLinkTypesByName (String name)

Returns a collection of IssueLinkTypes with the given name. Actually this collection should always have either one or zero elements - it is illegal to have two link types with the same name.

Parameters
name The name to search for Issue Link Types by.
Returns
  • a collection of IssueLinkTypes, or an empty collection if name isn't a link type. TODO: Reconsider this method. The GUI enforces unique names.

public Collection<IssueLinkType> getIssueLinkTypesByOutwardDescription (String desc)

Returns a collection of IssueLinkTypes with the given description as the outward description.

There is no restriction on inward and outward descriptions being unique across issue link types, which is why this may return more than one IssueLinkType.

Parameters
desc the outward description to search on
Returns
  • the collection of matched issue link types; never null.

public Collection<IssueLinkType> getIssueLinkTypesByStyle (String style)

public void removeIssueLinkType (Long issueLinkTypeId)

This method removed the issue link type from the database
WARNING: This method DOES NOT check if there are any existing issue links of this issue link type. It simply removes the record from the datastore. Use IssueLinkTypeDestroyer to 'nicely' remove the issue link type taking care of existing issue links.

Parameters
issueLinkTypeId the id of the IssueLinkType to remove

public void updateIssueLinkType (IssueLinkType issueLinkType, String name, String outward, String inward)