Interface SpaceService

  • All Known Implementing Classes:
    SpaceServiceImpl

    @ExperimentalApi
    public interface SpaceService
    Provides CRUD operations on Spaces.
    Since:
    5.5
    • Method Detail

      • create

        Space create​(Space newSpace,
                     boolean isPrivate)
              throws ServiceException
        Create a new space.

        If the "isPrivate" flag is set to true the new space will only be visible to the creator.

        Minimum properties to be valid is a key and name.

        Parameters:
        newSpace - the space to create
        isPrivate - whether the space is private (true) or has default permissions (false)
        Returns:
        the space created
        Throws:
        ServiceException - if the space cannot be created
      • update

        Space update​(Space space)
              throws ServiceException
        Updates a space.

        Currently limited to changing the space name, description and homepage.

        Parameters:
        space - the updated Space
        Returns:
        the updated space after being persisted
        Throws:
        ServiceException
      • find

        SpaceService.SpaceFinder find​(Expansion... expansion)
        Create a space finder to locate spaces, the expansions will be applied to each Space matching the restrictions on the finder. Restrictions can be applied to the finder using the appropriate withFoo() method

        For example:

         spaceService.find()
              .withKeys("DEV","PROD")
              .fetchMany(new SimplePageRequest(0, 10);
         
         
        Parameters:
        expansion - - the expansion to apply to each fetched space
        Returns:
        a new SpaceFinder
      • delete

        LongTaskSubmission delete​(Space spaceToDelete)
                           throws ServiceException
        Delete the given space.

        The deletion happens asynchronously so a LongTaskStatus is returned, that can be used to track progress.

        Parameters:
        spaceToDelete - the space to delete
        Returns:
        a LongTaskStatus describing the space-removal operation
        Throws:
        NotFoundException - if the space does not exist or you do not have permission to view it
        PermissionException - if you do not have permission to delete the space
        ServiceException