Interface UserHistoryManager

All Known Implementing Classes:
DefaultUserHistoryManager, MockUserHistoryManager

public interface UserHistoryManager
The manager responsible for storing and retreiving UserHistoryItem objects. Although it is possible to store a reference to any UserHistoryItem.Type it has special methods for Issue history as that is the only use internal to JIRA.
Since:
v4.0
  • Method Details

    • addUserToHistory

      void addUserToHistory(UserHistoryItem.Type type, ApplicationUser user, ApplicationUser entity)
      Create and add an UserHistoryItem to the Users history list. A null users history should still be stored, even if only for duration of session.
      Parameters:
      type - The type queue to add the history item to
      user - The user to add the history item to
      entity - The entity to add to the history queue.
    • addItemToHistory

      void addItemToHistory(UserHistoryItem.Type type, ApplicationUser user, String entityId)
      Create and add an UserHistoryItem to the Users history list. A null users history should still be stored, even if only for duration of session.
      Parameters:
      type - The type queue to add the history item to
      user - The user to add the history item to
      entityId - The entity id of the entity to add to the history queue.
    • addItemToHistory

      void addItemToHistory(UserHistoryItem.Type type, ApplicationUser user, String entityId, String data)
      Create and add an UserHistoryItem to the Users history list. Allows to store data related to the user history item.
      Parameters:
      type - The type queue to add the history item to
      user - The user to add the history item to
      entityId - The entity id of the entity to add to the history queue
      data - Data related to the history item. Can be null.
    • hasHistory

      boolean hasHistory(UserHistoryItem.Type type, ApplicationUser user)
      Determines whether a user has any items in their history for a given UserHistoryItem.Type This method performs no permission checks.
      Parameters:
      type - The type to check for
      user - The user to check for.
      Returns:
      true if the user has any entities in their queue of the give type, false otherwise
    • getHistory

      @Nonnull List<UserHistoryItem> getHistory(UserHistoryItem.Type type, ApplicationUser user)
      Retreive the user's history queue for the given UserHistoryItem.Type. The list is returned ordered by DESC lastViewed date (i.e. newest is first). This method performs no permission checks.
      Parameters:
      type - The type of entity to get the history for
      user - The user to get the history items for.
      Returns:
      a list of history items sort by desc lastViewed date.
    • removeHistoryForUser

      void removeHistoryForUser(@Nonnull ApplicationUser user)
      Remove the user's history.
      Parameters:
      user - The User to remove the history for.