Interface SpaceManager

All Known Subinterfaces:
SpaceManagerInternal
All Known Implementing Classes:
DefaultSpaceManager, ReadOnlySpaceManager

@ParametersAreNonnullByDefault @Transactional public interface SpaceManager
  • Field Details

  • Method Details

    • 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(Space space)
      Removes a space with a given space.

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

      Parameters:
      space - the key of the space to remove
      Returns:
      true if the space was successfully removed.
    • 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
    • removeSpacesInGroup

      @Deprecated @Transactional(propagation=REQUIRES_NEW) void removeSpacesInGroup(SpaceGroup spaceGroup)
      Deprecated.
      since 5.9.

      SpaceGroup and related classes like SpaceGroupManager and SpaceGroupComparator will be removed. Please do not use them.

    • 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
    • getAllSpaces

      @Deprecated @Transactional(readOnly=true) @NonNull List<Space> getAllSpaces()
      Deprecated.
      since 7.3.0, use SpaceService.find(Expansion...) in plugins and SpaceManagerInternal in core where applicable
      Finds all spaces in Confluence, of any type, sorted alphabetically by space name.
      Returns:
      List of spaces
    • getSpacesContainingPagesEditedBy

      @Transactional(readOnly=true) @NonNull List getSpacesContainingPagesEditedBy(@Nullable ConfluenceUser user)
      Returns Pages that are either created or edited by the specified user
      Returns:
      Pages that are either created or edited by the specified user
      Since:
      9.0
    • getSpacesContainingCommentsBy

      @Transactional(readOnly=true) @NonNull List getSpacesContainingCommentsBy(@Nullable ConfluenceUser user)
      Since:
      9.0
    • getAuthoredSpacesByUser

      @Transactional(readOnly=true) @NonNull List getAuthoredSpacesByUser(@Nullable ConfluenceUser user)
      Since:
      9.0
    • 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()
    • getSpaces

      @Deprecated @Transactional(readOnly=true) @NonNull ListBuilder<Space> getSpaces(SpacesQuery query)
      Deprecated.
      since 7.3.0, use SpaceService.find(Expansion...) in plugins and SpaceManagerInternal in core where applicable
      Get a list of spaces specified by the SpacesQuery limited by the offset and maxResults.
    • getAllSpaces

      @Deprecated @Transactional(readOnly=true) @NonNull List<Space> getAllSpaces(SpacesQuery query)
      Deprecated.
      since 7.3.0, use SpaceService.find(Expansion...) in plugins and SpaceManagerInternal in core where applicable
      Get a list of spaces specified by the SpacesQuery. Any code that calls this method is a potential performance problem. The method may be deprecated and removed in a future version of Confluence. Use getSpaces(SpacesQuery) to retrieve pages of results instead.
    • 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.