Interface UserProjectHistoryManager

All Known Implementing Classes:
DefaultUserProjectHistoryManager

public interface UserProjectHistoryManager
A wrapper of the UserHistoryManager that allows you to deal directly with Project objects
Since:
v4.0
  • Method Details

    • addProjectToHistory

      void addProjectToHistory(ApplicationUser user, Project project)
      Add a Project to the user hsitory list. A null users history should still be stored, even if only for duration of session
      Parameters:
      user - The user to add the history item to
      project - The project to add to the history list
    • hasProjectHistory

      boolean hasProjectHistory(int permission, ApplicationUser user)
      Determines whether the user has a current project history. This method also performs permission checks against the project to ensure that user can see atleast 1 project.
      Parameters:
      permission - the permission to check against
      user - The user to check for.
      Returns:
      true if the user has at least 1 project in their project history queue that they can see, false otherwise
    • getCurrentProject

      Project getCurrentProject(int permission, ApplicationUser user)
      Gets the last viewed project that the user visted and still has permission to see. This method also performs permission checks against the project to ensure that user can see it.
      Parameters:
      permission - the permission the user must have for the project
      user - The user to get teh history for.
      Returns:
      the last project the use visited.
    • getProjectHistoryWithoutPermissionChecks

      @Nonnull List<UserHistoryItem> getProjectHistoryWithoutPermissionChecks(ApplicationUser user)
      Retreive the user's project history queue. The list is returned ordered by DESC lastViewed date (i.e. newest is first). This method performs no permission checks. And is extremely fast.
      Parameters:
      user - The user to get the history project items for.
      Returns:
      a list of history project items sort by desc lastViewed date.
    • getProjectHistoryWithPermissionChecks

      @Nonnull List<Project> getProjectHistoryWithPermissionChecks(int permission, ApplicationUser user)
      Retreive the user's project history queue. The list is returned ordered by DESC lastViewed date (i.e. newest is first). This method performs permission checks.
      Parameters:
      permission - The permission the user must have for the project
      user - The user to get the history project items for.
      Returns:
      a list of projects sort by desc lastViewed date.
    • getProjectHistoryWithPermissionChecks

      @Nonnull List<Project> getProjectHistoryWithPermissionChecks(ProjectAction projectAction, ApplicationUser user)
      Retreive the user's project history queue. The list is returned ordered by DESC lastViewed date (i.e. newest is first). This method performs permission checks.
      Parameters:
      projectAction - The projectAction the user must have for the project
      user - The user to get the history project items for.
      Returns:
      a list of projects sort by desc lastViewed date.