Interface PlanFavouriteService

All Known Implementing Classes:
PlanFavouriteServiceImpl

@PublicApi public interface PlanFavouriteService
Service for managing the plan 'favourite' flag. Methods of this service should not be called from within transaction.
Since:
3.1
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    addFavourite(@NotNull Plan plan, @Nullable com.atlassian.user.User user, boolean honourManuallyUnmarked)
    Mark plan as a favourite for a user.
    boolean
    isFavourite(@NotNull ImmutablePlan plan, @Nullable com.atlassian.user.User user)
    Test if plan is set as favourite for a user.
    int
    removeFavourite(@NotNull Plan plan, @Nullable com.atlassian.user.User user)
    Remove plan from the user's favourite list and mark it "manually marked not favourite"
    int
    toggleFavourite(@NotNull Plan plan, @Nullable com.atlassian.user.User user)
    Toggle the plan's favourite status for a user.
  • Method Details

    • isFavourite

      boolean isFavourite(@NotNull @NotNull ImmutablePlan plan, @Nullable @Nullable com.atlassian.user.User user)
      Test if plan is set as favourite for a user.
      Parameters:
      plan - Plan to be tested
      user - User whose favourite plans would be examined
      Returns:
      True if plan is marked as favourite for a user, false otherwise.
    • addFavourite

      int addFavourite(@NotNull @NotNull Plan plan, @Nullable @Nullable com.atlassian.user.User user, boolean honourManuallyUnmarked)
      Mark plan as a favourite for a user. If the honourManuallyUnmarked flag is set, plan is verified if it is not "manually marked not favourite". If the latter is true then plan is not marked favourite.
      Parameters:
      plan - Plan to be marked as a favourite
      user - User whose favourites will be modified
      honourManuallyUnmarked - If this flag is set then additional check is per
      Returns:
      Status of operation as specified in LabelManager
    • removeFavourite

      int removeFavourite(@NotNull @NotNull Plan plan, @Nullable @Nullable com.atlassian.user.User user)
      Remove plan from the user's favourite list and mark it "manually marked not favourite"
      Parameters:
      plan - Plan to be marked as a favourite
      user - User whose favourites will be modified
      Returns:
      Status of operation as specified in LabelManager
    • toggleFavourite

      int toggleFavourite(@NotNull @NotNull Plan plan, @Nullable @Nullable com.atlassian.user.User user)
      Toggle the plan's favourite status for a user. Depending on the current 'favourite' status either addFavourite or removeFavourite is executed internally. This operation was pulled to this service to make it atomic.
      Parameters:
      plan - Plan which favourite status will be set/cleared
      user - User whose favourites will be modified
      Returns:
      Status of operation as specified in LabelManager