Class DefaultLabelManager

java.lang.Object
com.atlassian.jira.issue.label.DefaultLabelManager
All Implemented Interfaces:
IdentifiableComponent, LabelManager

public class DefaultLabelManager extends Object implements LabelManager
Manager responsible for label operations.
Since:
v4.2
  • Constructor Details

  • Method Details

    • getFieldManager

      protected CustomFieldManager getFieldManager()
    • getLabels

      public Set<Label> getLabels(Long issueId)
      Description copied from interface: LabelManager
      Returns system field labels for the given issue.
      Specified by:
      getLabels in interface LabelManager
      Parameters:
      issueId - The issue id that the label is linked against
      Returns:
      A set of alphabetically ordered labels for the issue.
    • setLabels

      public Set<Label> setLabels(ApplicationUser remoteUser, Long issueId, Set<String> labels, boolean sendNotification, boolean causesChangeNotification)
      Description copied from interface: LabelManager
      Sets the labels for a particular issue to the set specified as a parameter. The set may be an empty set in order to clear all labels for an issue.
      Specified by:
      setLabels in interface LabelManager
      Parameters:
      remoteUser - The user setting labels
      issueId - The issue id that the label is linked against
      labels - the new labels for this issue
      sendNotification - true if an e-mail should be sent to users notifying them of the issue update
      causesChangeNotification - true if a change history should be created, false otherwise
      Returns:
      a set of stored label objects in alphabetical order
    • getLabels

      public Set<Label> getLabels(Long issueId, Long customFieldId)
      Description copied from interface: LabelManager
      Returns all the labels for the given issue and custom field. The custom field may also be null, in which case the labels for the system field will be returned.
      Specified by:
      getLabels in interface LabelManager
      Parameters:
      issueId - The issue id that the label is linked against
      customFieldId - Custom field id for the labels CF or null if it's the system field.
      Returns:
      A set of alphabetically ordered labels for the issue and custom field.
    • setLabels

      public Set<Label> setLabels(ApplicationUser remoteUser, Long issueId, Long customFieldId, Set<String> labels, boolean sendNotification, boolean causesChangeNotification)
      Description copied from interface: LabelManager
      Sets the labels for a particular issue and field combo to the set specified as a parameter. The set may be an empty set in order to clear all labels for an issue.
      Specified by:
      setLabels in interface LabelManager
      Parameters:
      remoteUser - The user setting labels
      issueId - The issue id that the label is linked against
      customFieldId - Custom field id for the labels CF or null if it's the system field.
      labels - the new labels for this issue and custom field combo
      sendNotification - true if an e-mail should be sent to users notifying them of the issue update
      causesChangeNotification - true if a change history should be created, false otherwise
      Returns:
      a set of stored label objects in alphabetical order
    • addLabel

      public Label addLabel(ApplicationUser remoteUser, Long issueId, String label, boolean sendNotification)
      Description copied from interface: LabelManager
      Adds a label to the issue provided.
      Specified by:
      addLabel in interface LabelManager
      Parameters:
      remoteUser - The user setting labels
      issueId - The issue id that the label is linked against
      label - The new label to add to the issue
      sendNotification - true if an e-mail should be sent to users notifying them of the issue update
      Returns:
      The Label domain object which was created
    • addLabel

      public Label addLabel(ApplicationUser remoteUser, Long issueId, Long customFieldId, String label, boolean sendNotification)
      Description copied from interface: LabelManager
      Adds a label to the issue and customFieldId provided.
      Specified by:
      addLabel in interface LabelManager
      Parameters:
      remoteUser - The user setting labels
      issueId - The issue id that the label is linked against
      customFieldId - The id of the custom field to add the label to
      label - The new label to add to the issue
      sendNotification - true if an e-mail should be sent to users notifying them of the issue update
      Returns:
      The Label domain object which was created
    • removeLabelsForCustomField

      public Set<Long> removeLabelsForCustomField(Long customFieldId)
      Description copied from interface: LabelManager
      This method deletes all label entries for the custom field provided. This is useful when deleting a customfield
      Specified by:
      removeLabelsForCustomField in interface LabelManager
      Parameters:
      customFieldId - the custom field for which to delete labels
      Returns:
      a set of issue ids affected
    • getSuggestedLabels

      public Set<String> getSuggestedLabels(ApplicationUser user, Long issueId, String token)
      Description copied from interface: LabelManager
      Returns a set of label suggestions sorted alphabetically for the labels system field. Suggestions will be narrowed down to the ones starting with the token provided and, if the issue is non-null, any labels the issue already has will be removed. If the token provided is null or empty, a set of labels sorted by popularity of the label will be returned.
      Specified by:
      getSuggestedLabels in interface LabelManager
      Parameters:
      user - The user retrieving suggestions for the labels system field
      issueId - The issue for which suggestions should be generated or null
      token - The search token entered by the user
      Returns:
      A sorted set of labels in alphabetical order
    • getSuggestedLabels

      public Set<String> getSuggestedLabels(ApplicationUser user, Long issueId, Long customFieldId, String token)
      Description copied from interface: LabelManager
      Returns a set of label suggestions sorted alphabetically for the label custom field provided. Suggestions will be narrowed down to the ones starting with the token provided and, if the issue is non-null, any labels the issue already has will be removed. If the token provided is null or empty, a set of labels sorted by popularity of the label will be returned.
      Specified by:
      getSuggestedLabels in interface LabelManager
      Parameters:
      user - The user retrieving suggestions for the labels custom field
      issueId - The issue for which suggestions should be generated or null
      customFieldId - The label custom field to generate suggestions for
      token - The search token entered by the user
      Returns:
      A sorted set of labels in alphabetical order
    • getCustomFieldLabels

      public Set<Label> getCustomFieldLabels(Long issueId)
      Description copied from interface: LabelManager
      Returns all custom field labels for the given issue.
      Specified by:
      getCustomFieldLabels in interface LabelManager
      Parameters:
      issueId - The issue id that the label is linked against
      Returns:
      A set of custom field labels for the issue.
    • getCustomFieldLabels

      public Map<Long,Set<Label>> getCustomFieldLabels(Set<Long> issueIds)
      Description copied from interface: LabelManager
      Returns all custom field labels for the given issue batch.
      Specified by:
      getCustomFieldLabels in interface LabelManager
      Parameters:
      issueIds - The issue ids that the labels are linked against
      Returns:
      A set of custom field labels grouped by issues.