Interface SpaceManager

    • Method Detail

      • createSpace

        @NonNull Space createSpace​(String key,
                                   String name,
                                   @Nullable String description,
                                   com.atlassian.user.User creator)
      • createPersonalSpace

        @NonNull Space createPersonalSpace​(String name,
                                           @Nullable String description,
                                           com.atlassian.user.User owner)
        Creates a personal space. The difference to a normal space are that this space will have a type "personal" and the user passed to this space should not be the creator, but is the owner of the space.
      • createPrivatePersonalSpace

        @NonNull Space createPrivatePersonalSpace​(String name,
                                                  @Nullable String description,
                                                  com.atlassian.user.User owner)
        Create a personal Space for which only the creator has any permissions
      • createSpace

        @Deprecated
        @NonNull Space createSpace​(Space space)
        Deprecated.
        since 6.10.0, use {#link #createSpace(String key, String name, String description, User creator)}
      • createPrivateSpace

        @NonNull Space createPrivateSpace​(String key,
                                          String name,
                                          @Nullable String description,
                                          com.atlassian.user.User creator)
        Creates a Space for which only the creator has any permissions
      • saveSpace

        void saveSpace​(Space space)
      • saveSpace

        void saveSpace​(Space space,
                       Space originalSpace)
      • removeSpace

        @Transactional(propagation=REQUIRES_NEW)
        @NonNull Boolean removeSpace​(String spaceKey)
        Removes a space with a given spaceKey (case sensitive).

        Delegates to removeSpace(String, com.atlassian.core.util.ProgressMeter).

        Parameters:
        spaceKey - the key of the space to remove
        Returns:
        true if the space was successfully removed.
        Since:
        7.14.0
      • removeSpace

        @Transactional(propagation=REQUIRES_NEW)
        @NonNull Boolean removeSpace​(String spaceKey,
                                     com.atlassian.core.util.ProgressMeter progressMeter)
        Removes a space with a given spaceKey (case sensitive). This must be passed a progress monitor which will be updated with internationalised status while the space is being removed. Ideally this should be done from a long running task, since it can be very slow and it clears the current Hibernate session.
        Parameters:
        spaceKey - the key of the space to remove
        progressMeter - will be updated with status messages and percentage completed. Not Null.
        Returns:
        true if the space was successfully removed.
        Since:
        4.2
      • getSpace

        @Deprecated
        @Transactional(readOnly=true)
        @Nullable Space getSpace​(long id)
        Deprecated.
        since 7.3.0, use SpaceService.find(Expansion...) in plugins and SpaceManagerInternal in core where applicable
        Retrieve a space by its ID. The space can be of any type.
        Parameters:
        id - the ID of the space
        Returns:
        the space, or null if no space exists with that id.
      • getSpace

        @Deprecated
        @Transactional(readOnly=true)
        @Nullable Space getSpace​(@Nullable String spaceKey)
        Deprecated.
        since 7.3.0, use SpaceService.find(Expansion...) in plugins and SpaceManagerInternal in core where applicable
        Retrieve a space by its key. The space can be of any type.
        Parameters:
        spaceKey - the space key of the space to retrieve
        Returns:
        the space, or null if no space exists with that key
      • getPersonalSpace

        @Deprecated
        @Transactional(readOnly=true)
        @Nullable Space getPersonalSpace​(@Nullable ConfluenceUser user)
        Deprecated.
        since 7.3.0, use SpaceService.find(Expansion...) in plugins and SpaceManagerInternal in core where applicable
        Get the personal space of the given user.
        Parameters:
        user - the user to get the space for. If user is null, the method will return null
        Returns:
        the personal space of the user if one exists, otherwise null.
        Since:
        5.2
      • getSpacesContainingPagesEditedBy

        @Transactional(readOnly=true)
        @NonNull List getSpacesContainingPagesEditedBy​(String username)
        Returns Pages that are either created or edited by the specified user
        Parameters:
        username - a username
        Returns:
        Pages that are either created or edited by the specified user
      • getSpacesContainingCommentsBy

        @Transactional(readOnly=true)
        @NonNull List getSpacesContainingCommentsBy​(String username)
      • getAuthoredSpacesByUser

        @Transactional(readOnly=true)
        @NonNull List getAuthoredSpacesByUser​(String username)
      • findPageTotal

        @Transactional(readOnly=true)
        long findPageTotal​(Space space)
        Get the number of pages in a space. This counts all pages, including non-current versions, and including pages that are in the trash. As such, it probably doesn't do what you think it does.
        Parameters:
        space - the space to count pages in
        Returns:
        the number of pages in that space
      • getNumberOfBlogPosts

        @Transactional(readOnly=true)
        int getNumberOfBlogPosts​(Space space)
        Get the number of blog posts in a space. This counts all news, including non-current versions, and including news that is in the trash. As such, it probably doesn't do what you think it does.
        Parameters:
        space - the space to count pages in
        Returns:
        the number of blog posts (news items) in that space
      • getSpaceFromPageId

        @Transactional(readOnly=true)
        @Nullable String getSpaceFromPageId​(long pageId)
        Get the key for a space from its pageId in a single db call
        Parameters:
        pageId - the id of the page to look for
        Returns:
        the key for the space containing the given page
      • getSpacesCreatedAfter

        @Transactional(readOnly=true)
        @NonNull List<Space> getSpacesCreatedAfter​(Date creationDate)
      • ensureSpaceDescriptionExists

        void ensureSpaceDescriptionExists​(Space space)
        If the given Space does not have a description, creates one for it, and saves it.

        This is required for CONF-4080, because labels on a Space are attached to a Space Description.

        Parameters:
        space - an existing space. Not null.
      • getLogoForSpace

        @Transactional(readOnly=true)
        @NonNull SpaceLogo getLogoForSpace​(@Nullable String spaceKey)
      • getLogoForGlobalcontext

        @Transactional(readOnly=true)
        @NonNull SpaceLogo getLogoForGlobalcontext()
      • getSpaceAdmins

        @Transactional(readOnly=true)
        @NonNull List<com.atlassian.user.User> getSpaceAdmins​(Space spaces)
        Returns a list of administrators for a given space, sorted by full name
      • getSpaceAdmins

        @Transactional(readOnly=true)
        @NonNull List<com.atlassian.user.User> getSpaceAdmins​(Space spaces,
                                                              int limit)
        Returns a list of administrators for a given space, sorted by full name, up to the size limit
      • archiveSpace

        void archiveSpace​(Space space)
        Archive the space. Archived spaces are removed from various lists and search results to unclutter the user interface. If the space is archived, this method does nothing.
        Parameters:
        space - the space to archive.
      • unarchiveSpace

        void unarchiveSpace​(Space space)
        Un-archive the space. If the space is already un-archived, this method does nothing.
        Parameters:
        space - the space to archive.
      • getAllSpaceKeys

        @Transactional(readOnly=true)
        @NonNull Collection<String> getAllSpaceKeys​(SpaceStatus status)
        Get the space keys of all spaces with the given status.
        Parameters:
        status - the status to search for
        Returns:
        the keys of all spaces with that status.