Interface SpaceManagerInternal

All Superinterfaces:
SpaceManager
All Known Implementing Classes:
DefaultSpaceManager

@Transactional public interface SpaceManagerInternal extends SpaceManager
DMZ space manager interface. ; see the package-info.java for rationale.
Since:
9.0
  • Method Details

    • cloneSpaceForRemoveEvent

      Space cloneSpaceForRemoveEvent(Space space)
    • getSpaces

      @Transactional(readOnly=true) @NonNull PageResponse<Space> getSpaces(SpacesQuery query, LimitedRequest limitedRequest, Predicate<? super Space>... filter)
      get a paginated list of spaces that match the spaceQuery, filtered by the given predicate
      Parameters:
      query - - the query to use to fetch the spaces from the databases
      limitedRequest - - the pagination request limit
      filter - - the filter to apply to the requested spaces
      Returns:
      a PageResponse of matching spaces
      Since:
      7.0.1
    • toSpacesQueryWithPermissionQueryBuilder

      @NonNull io.atlassian.fugue.Either<AccessDenied,SpacesQueryWithPermissionQueryBuilder> toSpacesQueryWithPermissionQueryBuilder(SpacesQuery spacesQuery)

      Converts a SpacesQuery into a decorated form SpacesQueryWithPermissionQueryBuilder that includes information about how database queries should be built for the space permissions table. This extra information is passed down to the DAO level so that SpaceDao doesn't have to call out to the manager level to determine things like the user's AccessStatus, or construct extremely complex queries to join and figure out the user's Confluence access.

      If no permission check is defined in the SpacesQuery or the user is a super-user, then the returned object excludes permission checking.

      Parameters:
      spacesQuery - the query to use to fetch the spaces from the databases
      Returns:
      the SpacesQuery decorated into a SpacesQueryWithPermissionQueryBuilder OR AccessDenied if the user does not have Confluence access, or an invalid permission is being checked for the user.
      Since:
      7.0.1
    • removeSpace

      @Transactional(propagation=REQUIRES_NEW) @Deprecated(forRemoval=true, since="9.4") @NonNull Boolean removeSpace(Space space)
      Deprecated, for removal: This API element is subject to removal in a future version.
      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) @Deprecated(forRemoval=true, since="9.4") @NonNull Boolean removeSpace(String spaceKey)
      Deprecated, for removal: This API element is subject to removal in a future version.
      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) @Deprecated(forRemoval=true, since="9.4") @NonNull Boolean removeSpace(String spaceKey, com.atlassian.core.util.ProgressMeter progressMeter)
      Deprecated, for removal: This API element is subject to removal in a future version.
      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(forRemoval=true) @Transactional(propagation=REQUIRES_NEW) void removeSpacesInGroup(SpaceGroup spaceGroup)
      Deprecated, for removal: This API element is subject to removal in a future version.
      since 5.9.

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

    • createSpace

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