Package com.atlassian.jira.user
Interface UserHistoryStore
- All Known Implementing Classes:
CachingUserHistoryStore
,OfBizUserHistoryStore
,SessionBasedAnonymousUserHistoryStore
public interface UserHistoryStore
Store interface for
UserHistoryItem
objects.- Since:
- v4.0
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addHistoryItem
(ApplicationUser user, UserHistoryItem historyItem) Add a history item to the database.getHistory
(UserHistoryItem.Type type, ApplicationUser user) Retrieve the history for a given user/type.getHistory
(UserHistoryItem.Type type, String userKey) Retrieve the history for a given user/type.Remove all history items for a given user.void
removeHistoryOlderThan
(Long timestamp) Method for removing old user history items.
-
Method Details
-
addHistoryItem
Add a history item to the database. This removes the currently referred to entity (user, type, id) from the list and then adds it. If adding it causes the history items stored for that user/type to exceed the max (jira.max.history.items) items allowed, it should remove the oldest items.- Parameters:
user
- The user to store the history item againsthistoryItem
- the item to store. Containing a timestamp and referenced entity
-
getHistory
@Nonnull List<UserHistoryItem> getHistory(@Nonnull UserHistoryItem.Type type, @Nonnull ApplicationUser user) Retrieve the history for a given user/type.- Parameters:
type
- The type of entity to retrieve history for.user
- The user to retrieve history for.- Returns:
- a list containing all stored history items for the passed in user/type.
-
removeHistoryForUser
Remove all history items for a given user.- Parameters:
user
- The user to remove all history of.- Returns:
- The set of history types that were removed;
-
removeHistoryOlderThan
Method for removing old user history items. Removes elements older than provided timestamp, but not younger than 30 days.- Parameters:
timestamp
- remove elements older than this timestamp- Throws:
IllegalArgumentException
- If provided timestamp is not at least 30 days old
-
getHistory
@Nonnull List<UserHistoryItem> getHistory(@Nonnull UserHistoryItem.Type type, @Nonnull String userKey) Retrieve the history for a given user/type.- Parameters:
type
- The type of entity to retrieve history for.userKey
- The key of the user to retrieve history for.- Returns:
- a list containing all stored history items for the passed in user/type.
-