Interface SpaceDao

    • Method Detail

      • getById

        @Nullable Space getById​(long id)
      • getSpace

        @Nullable Space getSpace​(@Nullable String spaceKey)
        Find a space by its space key.
      • getSpacesCreatedByUser

        @NonNull List<Space> getSpacesCreatedByUser​(@Nullable String username)
        Find all the spaces created by a given user.
      • getPersonalSpace

        @Nullable Space getPersonalSpace​(@Nullable ConfluenceUser user)
        Parameters:
        user - the user who's personal space is to be retrieved
        Returns:
        the personal space for the specified user or null if none exists
      • getSpacesContainingPagesEditedByUser

        @NonNull List<Space> getSpacesContainingPagesEditedByUser​(@Nullable String username)
        Find all spaces containing pages that were edited by a particular user. This is for tracking down whether a user can be safely deleted or not.
        Parameters:
        username - the name of the user to track down
        Returns:
        a list of the spaces containing pages that were edited by this user, or the empty list if no such spaces exist.
      • getSpacesContainingCommentsByUser

        @NonNull List<Space> getSpacesContainingCommentsByUser​(@Nullable String username)
        Find all spaces containing comments by a particular user. This is for tracking down whether a user can be safely deleted or not.

        Does currently not include personal spaces, but probably should.

        Parameters:
        username - the name of the user to track down
        Returns:
        a list of the spaces containing comments by this user, or the empty list if no such spaces exist.
      • getSpacesCreatedOrUpdatedSinceDate

        @NonNull List<Space> getSpacesCreatedOrUpdatedSinceDate​(Date previousLoginDate)
      • findPageTotal

        int findPageTotal​(Space space)
        Fast way to count pages in a space without loading them. Counts all pages, not just the current versions.
        Returns:
        returns the number of all versions of all pages in a space
      • getNumberOfBlogPosts

        int getNumberOfBlogPosts​(Space space)
        Fast way to count blog posts in a space without loading them. Counts all blog posts, not just the current versions.
        Returns:
        returns the number of all versions of all blog posts in a space
      • getSpacesCreatedAfter

        @NonNull List<Space> getSpacesCreatedAfter​(Date creationDate)
      • getSpaceByContentId

        @Nullable Space getSpaceByContentId​(long contentId)
        Get the space that some content belongs to in a single db query. This will only work for content that directly belongs to a space (i.e. Pages, Blog Posts, Space Descriptions but not Comments or Attachments) and it will only work for current content (old content is dissassociated from its space)
        Parameters:
        contentId - the ID of the content
        Returns:
        the space that content belongs to
      • findSpaceKeysWithStatus

        @NonNull Collection<String> findSpaceKeysWithStatus​(String status)
        find all space keys where the space status is equal to the given status.
        Parameters:
        status - the status to search for
        Returns:
        all space keys of spaces that match that status
      • findUniqueVersionOfSpaceKey

        @NonNull String findUniqueVersionOfSpaceKey​(String spaceKey)
        Return a unique version of the supplied spaceKey. This is done by checking the database for a duplicate and following the algorithm of counting up until a duplicate is achieved e.g. spaceKey_1, spaceKey_2, etc.
        Parameters:
        spaceKey - the space key to create a unique version of
        Returns:
        the unique space key
      • performOnAll

        void performOnAll​(Consumer<Space> function)
        Perform the task with all spaces.
        Parameters:
        function - apply to spaces.