Interface PageDao

    • Method Detail

      • getPageById

        Page getPageById​(long id)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Get the page with the given id.
        Parameters:
        id - of the page to load
        Returns:
        the page with the given id, or null if no such page exists
      • getPagesByIds

        List<Page> getPagesByIds​(Iterable<Long> ids)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Get the pages with the given ids.
        Since:
        4.2
      • getPageByIdWithComments

        Page getPageByIdWithComments​(long id)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Get the page with the given id, and perform an eager load of the comments and their children. This can be used as a performance optimisation when it is known that all comments will be displayed.
        Parameters:
        id - of the page to load
        Returns:
        the page with the given id, or null if no such page exists
      • getCommentCountOnPage

        int getCommentCountOnPage​(long id)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Count the number of comments on the passed in page.
      • getPage

        Page getPage​(Space space,
                     String pageTitle)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Get the page by space and title.
        Parameters:
        space - The space the page belongs to
        pageTitle - The title of the page
        Returns:
        the page with the given title in the given space, or null if no such page exists
      • getPageWithComments

        Page getPageWithComments​(Space space,
                                 String pageTitle)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Get the page by space and title, and perform an eager load of the comments and their children. This can be used as a performance optimisation when it is known that all comments will be displayed.
        Parameters:
        space - The space the page belongs to
        pageTitle - The title of the page
        Returns:
        the page with the given title in the given space, or null if no such page exists
      • getPages

        List<Page> getPages​(@Nullable Space space,
                            boolean currentOnly)
        Deprecated, for removal: This API element is subject to removal in a future version.
      • getPagesWithPermissions

        List<Page> getPagesWithPermissions​(Space space)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Get all current pages in a space and eagerly fetch permissions at the same time. This is an optimisation for when you known that permissions will need to be fetched for all or most of the pages later.
        Returns:
        a list of all the current pages in a space
        Since:
        6.1.3
      • getPages

        @Deprecated
        PageResponse<Page> getPages​(Space space,
                                    LimitedRequest pageRequest,
                                    @Nullable com.google.common.base.Predicate<? super Page> filter)
        Deprecated.
        since 7.0.1. Use com.atlassian.confluence.internal.pages.persistence.PageDaoInternal#getFilteredPages(Space, LimitedRequest, Predicate)
        Retrieves a page response of the current content in the given space.
        Parameters:
        space - the space to locate the page in
        pageRequest - the start and offset of the pages to retrieve
        filter - the predicate to pages the returned results by, may be null
      • getPages

        @Deprecated
        PageResponse<Page> getPages​(LimitedRequest pageRequest,
                                    @Nullable com.google.common.base.Predicate<? super Page> filter)
        Deprecated.
        since 7.0.1. Use com.atlassian.confluence.internal.pages.persistence.PageDaoInternal#getFilteredPages(LimitedRequest, Predicate)
        Retrieves a page response of all the current pages of the Confluence instance.
        Parameters:
        pageRequest - the start and offset of the pages to retrieve
        filter - the predicate to filter the returned results by, may be null
        Returns:
        the paginated list of pages
      • getBlogPosts

        @Deprecated
        PageResponse<BlogPost> getBlogPosts​(Space space,
                                            LimitedRequest pageRequest,
                                            @Nullable com.google.common.base.Predicate<? super BlogPost> filter)
        Deprecated.
        since 7.0.1. Use com.atlassian.confluence.internal.pages.persistence.PageDaoInternal#getFilteredBlogPosts(Space, LimitedRequest, Predicate)
        Retrieves a page response of all the current blog posts in the give space.
        Parameters:
        space - the space to locate the blog posts in
        pageRequest - the start and offset of the pages to retrieve
        filter - the predicate to filter the returned results by, may be null
        Returns:
        the paginated list of all the current blog posts by space
      • getPagesStartingWith

        List<Page> getPagesStartingWith​(Space space,
                                        String s)
        Deprecated, for removal: This API element is subject to removal in a future version.
      • getRecentlyAddedPages

        List<Page> getRecentlyAddedPages​(int maxCount,
                                         @Nullable String spaceKey)
        Deprecated, for removal: This API element is subject to removal in a future version.
      • getRecentlyUpdatedPages

        List<Page> getRecentlyUpdatedPages​(int maxCount,
                                           @Nullable String spaceKey)
        Deprecated, for removal: This API element is subject to removal in a future version.
      • getOrphanedPages

        @Deprecated
        List<Page> getOrphanedPages​(@Nullable String spaceKey)
        Deprecated.
        since 7.0.0, no replacement

        This should be removed as the result of this ticket https://jira.atlassian.com/browse/CONFSRVDEV-10111

      • getUndefinedLinks

        List<OutgoingLink> getUndefinedLinks​(@Nullable String spaceKey)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Since:
        6.6.0
      • getPermissionPages

        List<Page> getPermissionPages​(Space space)
        Deprecated, for removal: This API element is subject to removal in a future version.
      • getAuthoredPagesCountByUser

        int getAuthoredPagesCountByUser​(String username)
        Deprecated, for removal: This API element is subject to removal in a future version.
      • getRecentlyAuthoredPagesByUser

        List<Page> getRecentlyAuthoredPagesByUser​(String username,
                                                  int maxCount)
        Deprecated, for removal: This API element is subject to removal in a future version.
      • getPagesCreatedOrUpdatedSinceDate

        List<Page> getPagesCreatedOrUpdatedSinceDate​(Date previousLoginDate)
        Deprecated, for removal: This API element is subject to removal in a future version.
      • findPagesWithCurrentOrHistoricalTitleInPermittedSpace

        List<AbstractPage> findPagesWithCurrentOrHistoricalTitleInPermittedSpace​(SpacePermissionQueryBuilder permissionQueryBuilder,
                                                                                 String pageTitle,
                                                                                 Space space,
                                                                                 int maxResultCount)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Searches for pages in the space specified, looking for those that have the given title in a previous version, and returns the first maxResultCount results.

        Only pages in spaces the remote user is able to view will be returned.

        Parameters:
        pageTitle - title of a page in a previous version.
        space - Space to search. Must not be null.
        maxResultCount - maximum pages to return
        Since:
        5.9
      • findBlogsWithCurrentOrHistoricalTitleInPermittedSpace

        List<AbstractPage> findBlogsWithCurrentOrHistoricalTitleInPermittedSpace​(SpacePermissionQueryBuilder permissionQueryBuilder,
                                                                                 String blogTitle,
                                                                                 Space space,
                                                                                 int maxResultCount)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Searches for blogs in the space specified, looking for those that have the given title in a previous version, and returns the first maxResultCount results.

        Only blogs in spaces the remote user is able to view will be returned.

        Parameters:
        permissionQueryBuilder - required to determine how to construct database queries for space permissions, for the current user
        blogTitle - title of a page in a previous version.
        space - Space to search. Must not be null.
        maxResultCount - maximum pages to return
        Returns:
        a list of pages that have the given title in a previous version
        Since:
        5.9
      • findBlogsWithCurrentOrHistoricalTitleInAllPermittedSpacesExcept

        List<AbstractPage> findBlogsWithCurrentOrHistoricalTitleInAllPermittedSpacesExcept​(SpacePermissionQueryBuilder permissionQueryBuilder,
                                                                                           String blogTitle,
                                                                                           Space space,
                                                                                           int maxResultCount)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Searches for blog posts in all spaces except the one specified, looking for those that have the given title in a current or previous version, and returns the first maxResultCount results.

        Only pages in spaces the remote user is able to view will be returned.

        Parameters:
        blogTitle - Title of the blog to find
        space - Space to exclude from search. If null, all spaces are searched.
        maxResultCount - maximum blog posts to return
        Returns:
        a list of blog posts that have or have had the given title
        Since:
        5.9
      • findPagesWithCurrentOrHistoricalTitleInAllPermittedSpacesExcept

        List<AbstractPage> findPagesWithCurrentOrHistoricalTitleInAllPermittedSpacesExcept​(SpacePermissionQueryBuilder permissionQueryBuilder,
                                                                                           String pageTitle,
                                                                                           Space space,
                                                                                           int maxResultCount)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Searches for pages in all spaces except the one specified, looking for those that have the given title in a previous version, and returns the first maxResultCount results.

        Only pages in spaces the remote user is able to view will be returned.

        Parameters:
        pageTitle - title of a page in a previous version.
        space - Space to exclude from search. If null, all spaces are searched.
        maxResultCount - maximum pages to return
        Since:
        5.9
      • findContentPermissionSummaryByIds

        List<ContentPermissionSummary> findContentPermissionSummaryByIds​(Collection<Long> ids)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Get Content creator for bulk permission checking
        Parameters:
        ids - of Content
        Returns:
        list contain information for permission checking
        Since:
        6.0
      • countCurrentPages

        int countCurrentPages()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Counts the total number of current pages across all spaces
        Returns:
        the number of current pages
        Since:
        5.9
      • countDraftPages

        int countDraftPages()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Counts the number of pages that are drafts. This does not include drafts of pages that have already been published (i.e. pages with unpublished changes).
        Returns:
        the number of draft pages
        Since:
        6.3.1
      • countPagesWithUnpublishedChanges

        int countPagesWithUnpublishedChanges()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Counts the number of published pages that have unpublished changes.
        Returns:
        the number of pages with unpublished changes.
        Since:
        6.3.1
      • countAllPages

        int countAllPages()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Counts the total number of all page entities across all spaces, including non-current pages
        Returns:
        the number of pages
        Since:
        5.9
      • getPageStatistics

        Optional<PageStatisticsDTO> getPageStatistics()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Fetches statistics about pages
        Returns:
        a PageStatisticsDTO with information about pages such as total, current, and draft count
        Since:
        6.11.0
      • getPageCount

        long getPageCount​(@NonNull String spaceKey)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Get total number of current pages in a space
        Parameters:
        spaceKey - the space to look for pages in
        Returns:
        a count number of pages
        Since:
        6.1.3
      • getPageCount

        long getPageCount​(@NonNull String spaceKey,
                          List<ContentStatus> statuses)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Get total number of pages in a space, within any of the given statuses.
        Parameters:
        spaceKey - the space to look for pages in
        statuses - list of statuses the pages can be in
        Returns:
        a count number of pages
        Since:
        7.14.0
      • getPageInTrash

        List<Page> getPageInTrash​(String spaceKey,
                                  String title)
        Deprecated, for removal: This API element is subject to removal in a future version.
      • getAncestorsFor

        Map<Long,​List<Long>> getAncestorsFor​(Collection<Long> ids)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Get the list page ids of the ancestors of the given page ids.
        Parameters:
        ids - the list of page ids to get ancestor page ids for
        Returns:
        a map where the key is the given page id and the value is a list of all its ancestors' page ids
        Since:
        6.0
      • getDescendants

        List<Page> getDescendants​(Page page)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Finds all descendant pages (recursive) of the given page
        Returns:
        List of descendant pages
      • getDescendantTitles

        List<String> getDescendantTitles​(Page page)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Finds all descendant titles of the given page
        Returns:
        List of descendant titles
      • getDescendantIds

        List<Long> getDescendantIds​(Page page)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Finds the ids of all descendant pages of the given page
        Returns:
        List of page ids
      • getDescendantIds

        List<Long> getDescendantIds​(Page page,
                                    ContentStatus... statuses)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Finds the ids of all descendant pages of the given page
        Parameters:
        page -
        Returns:
        List of page ids
      • countPagesInSubtree

        int countPagesInSubtree​(@NonNull Page page)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Return total descendant page including input page
        Returns:
        total page
      • getTopLevelPages

        List<Page> getTopLevelPages​(Space space)
        Deprecated, for removal: This API element is subject to removal in a future version.
      • getTopLevelPages

        @Deprecated
        PageResponse<Page> getTopLevelPages​(Space space,
                                            LimitedRequest limitedRequest,
                                            com.google.common.base.Predicate<? super Page> predicate)
        Deprecated.
        since 7.0.1. Use com.atlassian.confluence.internal.pages.persistence.PageDaoInternal#getFilteredTopLevelPages(Space, LimitedRequest, Predicate)
      • getChildren

        @Deprecated
        PageResponse<Page> getChildren​(Page page,
                                       LimitedRequest pageRequest,
                                       com.google.common.base.Predicate<? super Page> predicate,
                                       Depth depth)
        Deprecated.
        since 7.0.1. Use com.atlassian.confluence.internal.pages.persistence.PageDaoInternal#getFilteredChildren(Page, LimitedRequest, Predicate, Depth)
        Returns the children of a page which have a status of CURRENT, limited to the pagination requested.
        Parameters:
        page - the page to find children for
        pageRequest - the pagination requested
        predicate - predicate used to entities
        depth - the depth to return children to
        Returns:
        the paginated response of Page entities
      • getDraftChildren

        PageResponse<Page> getDraftChildren​(Page page,
                                            LimitedRequest pageRequest,
                                            Depth depth)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Returns the children of a page which have a status of DRAFT, limited to the pagination requested. Will fetch drafts all drafts regardless of whether the current authenticated user has permission to view the drafts
        Parameters:
        page - the page to find children for
        pageRequest - the pagination requested
        depth - the depth to return children to
        Returns:
        the paginated response of Page entities
      • getAllChildren

        PageResponse<Page> getAllChildren​(Page page,
                                          LimitedRequest pageRequest,
                                          Depth depth)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Returns all children of a page (including drafts), limited to the pagination requested.
        Parameters:
        page - the page to find children for
        pageRequest - the pagination requested
        depth - the depth to return children to
        Returns:
        the paginated response of Page entities
        Since:
        6.7.1
      • getMaxSiblingPosition

        Integer getMaxSiblingPosition​(Page page)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Gets the highest position value of all the page's siblings. This is useful when we need to find what position to assign to a new page that should go to the bottom.
        Parameters:
        page - The page whose siblings from which to get the max position
        Returns:
        The highest position value of all the page's siblings
        Since:
        3.5.12
      • getPageIds

        Collection<Long> getPageIds​(Space space)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Get the ids of all pages (current and historical) in the given space.
        Parameters:
        space - space to retrieve page ids from, can not be null.
        Returns:
        a Collection of ids for pages.
        Since:
        4.2
      • getAbstractPagesByTitle

        @Deprecated
        PageResponse<AbstractPage> getAbstractPagesByTitle​(String title,
                                                           LimitedRequest pageRequest,
                                                           com.google.common.base.Predicate<? super AbstractPage> filter)
        Deprecated.
        since 7.0.1. Use com.atlassian.confluence.internal.pages.persistence.PageDaoInternal#getFilteredAbstractPagesByTitle(String, LimitedRequest, Predicate)
        Returns the abstract pages that exactly match the given title, limited to the pagination request. To get just pages or blog posts can be requested just specifying a content type based filter.
        Parameters:
        title - the title of the page to match
        pageRequest - the pagination requested
        filter - the predicate to apply to the results before returning
        Returns:
        the paginated list of AbstractPages by title
      • getAbstractPagesByCreationDate

        @Deprecated
        PageResponse<AbstractPage> getAbstractPagesByCreationDate​(org.joda.time.DateTime date,
                                                                  LimitedRequest pageRequest,
                                                                  com.google.common.base.Predicate<? super AbstractPage> filter)
        Deprecated.
        since 7.0.1. Use com.atlassian.confluence.internal.pages.persistence.PageDaoInternal#getFilteredAbstractPagesByCreationDate(DateTime, LimitedRequest, Predicate)
        Returns the abstract pages created on the given date, that also match the given filter, limited to the page request. To get just pages or blog posts can be requested just specifying a content type based filter.
        Parameters:
        date - - the creation date to match
        pageRequest - the pagination request
        filter - the predicate to apply to the results before returning
        Returns:
        the paginated list of AbstractPages created on the given date
      • getAbstractPages

        @Deprecated
        PageResponse<AbstractPage> getAbstractPages​(List<ContentType> contentTypes,
                                                    List<ContentStatus> statuses,
                                                    LimitedRequest pageRequest,
                                                    @Nullable com.google.common.base.Predicate<? super AbstractPage> filter)
        Deprecated.
        since 7.0.1. Use com.atlassian.confluence.internal.pages.persistence.PageDaoInternal#getFilteredAbstractPages(List, List, LimitedRequest, Predicate)
        Retrieves a page response of all pages found in this instance of Confluence, within any of the given statuses.
        Parameters:
        contentTypes - list of content types to find
        statuses - list of statuses the pages can be in
        pageRequest - the start and offset of the pages to retrieve
        filter - the predicate to filter the returned results by, may be null
        Returns:
        the paginated list of pages
      • getAbstractPages

        @Deprecated
        PageResponse<AbstractPage> getAbstractPages​(Space space,
                                                    List<ContentType> contentTypes,
                                                    List<ContentStatus> statuses,
                                                    LimitedRequest pageRequest,
                                                    @Nullable com.google.common.base.Predicate<? super AbstractPage> filter)
        Deprecated.
        since 7.0.1. Use com.atlassian.confluence.internal.pages.persistence.PageDaoInternal#getFilteredAbstractPages(Space, List, List, LimitedRequest, Predicate)
        Retrieves a page response for all content (pages and/or blog posts) in the given space, within any of the specified statuses and content types.
        Parameters:
        space - the space to locate the page in
        contentTypes - list of content types to find
        statuses - list of statuses the pages can be in
        pageRequest - the pagination request
        filter - the predicate to pages the returned results by, may be null
        Returns:
        the paginated list of pages by space, with the given statuses
      • getAbstractPages

        @Deprecated
        PageResponse<AbstractPage> getAbstractPages​(Space space,
                                                    String title,
                                                    List<ContentStatus> statuses,
                                                    LimitedRequest pageRequest,
                                                    com.google.common.base.Predicate<? super AbstractPage> filter)
        Deprecated.
        since 7.0.1. Use com.atlassian.confluence.internal.pages.persistence.PageDaoInternal#getFilteredAbstractPages(Space, String, List, LimitedRequest, Predicate)
        Returns the abstract pages from a space that exactly match the given title and are in any of the specified statuses, and match the given filter, limited to the pagination request. To get just pages or blog posts can be requested just specifying a content type based filter.
        Parameters:
        space - space the page belongs to
        title - the title of the page to match
        statuses - list of statuses the content can be in
        pageRequest - the pagination requested
        filter - the predicate to apply to the results before returning
        Returns:
        the paginated list of AbstractPages by space and title, with the given statuses
      • getAbstractPages

        @Deprecated
        PageResponse<AbstractPage> getAbstractPages​(String title,
                                                    List<ContentStatus> statuses,
                                                    LimitedRequest pageRequest,
                                                    com.google.common.base.Predicate<? super AbstractPage> filter)
        Deprecated.
        since 7.0.1. Use com.atlassian.confluence.internal.pages.persistence.PageDaoInternal#getFilteredAbstractPages(String, List, LimitedRequest, Predicate)
        Returns the abstract pages that exactly match the given title, are in any of the specified statuses, and match the given filter, limited to the pagination request. To get just pages or blog posts can be requested just specifying a content type based filter.
        Parameters:
        title - the title of the page to match
        statuses - list of statuses the content can be in
        pageRequest - the pagination requested
        filter - the predicate to apply to the results before returning
        Returns:
        the paginated list of AbstractPages by title
      • getAbstractPages

        @Deprecated
        PageResponse<AbstractPage> getAbstractPages​(org.joda.time.DateTime date,
                                                    List<ContentStatus> statuses,
                                                    LimitedRequest pageRequest,
                                                    com.google.common.base.Predicate<? super AbstractPage> filter)
        Deprecated.
        since 7.0.1. Use com.atlassian.confluence.internal.pages.persistence.PageDaoInternal#getFilteredAbstractPages(DateTime, List, LimitedRequest, Predicate)
        Returns the abstract pages created on the given date and are in the , that also match the given filter, limited to the page request. To get just pages or blog posts can be requested just specifying a content type based filter.
        Parameters:
        date - the creation date to match
        statuses - list of statuses the content can be in
        pageRequest - the pagination request
        filter - the predicate to apply to the results before returning
        Returns:
        the paginated list of AbstractPages created on the given date