com.atlassian.confluence.spaces
Interface SpaceManager

All Known Implementing Classes:
DefaultSpaceManager

public interface SpaceManager


Field Summary
static java.lang.String GLOBAL_LOGO
           
 
Method Summary
 void convertToPersonalSpace(Space space, com.atlassian.user.User owner, boolean updateLinks)
          Convert a global space into a user's personal space.
 Space createPersonalSpace(java.lang.String name, java.lang.String description, com.atlassian.user.User owner)
          Creates a personal space.
 Space createSpace(java.lang.String key, java.lang.String name, java.lang.String description, com.atlassian.user.User creator)
           
 void ensureSpaceDescriptionExists(Space space)
          If the given Space does not have a description, creates one for it, and saves it.
 long findPageTotal(Space space)
          Get the number of pages in a space.
 java.util.List getAllSpaces()
          Finds all spaces in Confluence, of any type.
 java.util.List getAuthoredSpacesByUser(java.lang.String username)
           
 java.util.List getBlogPosts(Space space, boolean currentOnly)
          Deprecated. from 2.3 use PageManager.getBlogPosts(Space, boolean)
 java.util.List getEditableSpacesByType(com.atlassian.user.User user, SpaceType type)
          Return all spaces of a given type in which the user can create or edit pages
 SpaceLogo getLogoForGlobalcontext()
           
 SpaceLogo getLogoForSpace(java.lang.String spaceKey)
           
 java.util.List getMail(Space space, boolean currentOnly)
          Deprecated. from 2.3 use MailContentManager.getMail(Space, boolean)
 int getNumberOfBlogPosts(Space space)
          Get the number of blog posts in a space.
 int getNumberOfMail(Space space)
          Get the number of archived emails in a space.
 java.util.List getPages(Space space, boolean currentOnly)
          Deprecated. from 2.3 use PageManager.getPages(Space, boolean)
 java.util.List getPagesStartingWith(Space space, java.lang.String s)
          Deprecated. from 2.3 use PageManager.getPagesStartingWith(Space, String)
 java.util.List getPermittedSpaces(com.atlassian.user.User user)
          Return all spaces for which the the user has VIEW permission.
 java.util.List getPermittedSpacesByType(com.atlassian.user.User user, SpaceType type)
          Return all spaces of a given type for which the user has VIEW permission.
 java.util.List getPermittedSpacesInSpaceGroup(com.atlassian.user.User user, SpaceGroup spaceGroup)
          Return all spaces within a given spaceGroup for which the user has VIEW permission
 Space getPersonalSpace(java.lang.String username)
          Get the personal space for the user with the given username
 Space getPersonalSpace(com.atlassian.user.User user)
          Get the personal space of the given user.
 java.lang.String getPersonalSpaceKey(java.lang.String username)
           
 Space getSpace(long id)
          Retrieve a space by its ID.
 Space getSpace(java.lang.String spaceKey)
          Retrieve a space by its key.
 java.util.List getSpaceContent(Space space, boolean currentOnly)
           
 java.lang.String getSpaceFromPageId(long pageId)
          Get the key for a space from its pageId in a single db call
 java.util.List getSpaces()
          Deprecated. since 2.3 use getSpacesByType(com.atlassian.confluence.spaces.SpaceType)
 java.util.List getSpacesByType(SpaceType type)
           
 java.util.List getSpacesContainingCommentsBy(java.lang.String username)
           
 java.util.List getSpacesContainingPagesEditedBy(java.lang.String username)
          Returns Pages that are either created or edited by the specified user
 java.util.List getSpacesCreatedAfter(java.util.Date creationDate)
           
 java.util.List getSpacesCreatedOrUpdatedSinceDate(java.util.Date previousLoginDate)
          Deprecated. since 2.3 this method is unreferenced, and probably doesn't do anything useful
 java.util.List getSpacesEditableByUser(com.atlassian.user.User user)
          Return all spaces in which the the can create or edit pages.
 java.util.List getSpacesInSpaceGroup(SpaceGroup spaceGroup)
           
 boolean isValidPersonalSpaceKey(java.lang.String key)
          Deprecated. since 2.3 use Space.isValidPersonalSpaceKey(java.lang.String)
 boolean isValidSpaceKey(java.lang.String key)
          Deprecated. since 2.3 use Space.isValidGlobalSpaceKey(java.lang.String)
 void moveHierarchy(Page topPage, Page newParentPage, Space newSpace, com.atlassian.user.User user, boolean moveChildren, java.util.List pagesToIndex)
          Deprecated. since 2.9 use PageManager.movePage(Page, Space) or PageManager.movePage(Page, Page, int) instead
 void removeSpace(Space space)
           
 void removeSpacesInGroup(SpaceGroup spaceGroup)
           
 void saveSpace(Space space)
           
 void saveSpace(Space space, Space originalSpace)
           
 

Field Detail

GLOBAL_LOGO

static final java.lang.String GLOBAL_LOGO
See Also:
Constant Field Values
Method Detail

createSpace

Space createSpace(java.lang.String key,
                  java.lang.String name,
                  java.lang.String description,
                  com.atlassian.user.User creator)

createPersonalSpace

Space createPersonalSpace(java.lang.String name,
                          java.lang.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.

Parameters:
name -
description -
owner -
Returns:
the created space

saveSpace

void saveSpace(Space space)

saveSpace

void saveSpace(Space space,
               Space originalSpace)

removeSpace

void removeSpace(Space space)

removeSpacesInGroup

void removeSpacesInGroup(SpaceGroup spaceGroup)

getSpace

Space getSpace(long id)
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

Space getSpace(java.lang.String spaceKey)
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

Space getPersonalSpace(java.lang.String username)
Get the personal space for the user with the given username

Parameters:
username - the username of the user to get the personal space of
Returns:
the personal space for that user, or null if the user has no personal space

getPersonalSpace

Space getPersonalSpace(com.atlassian.user.User user)
Get the personal space of the given user. This method may be more convenient than getPersonalSpace(String), as it behaves gracefully when the user is anonymous (i.e. null). Where the user is not null, this method is the equivalent of getPersonalSpace(user.getName()).

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.

getAllSpaces

java.util.List getAllSpaces()
Finds all spaces in Confluence, of any type.

Returns:
List of spaces

getSpaces

java.util.List getSpaces()
Deprecated. since 2.3 use getSpacesByType(com.atlassian.confluence.spaces.SpaceType)

Method to get a list of all global spaces in Confluence Warning: Despite the name, this method only returns global spaces. This is why we've deprecated it in favour of the more clearly named methods.

Returns:
List of global spaces

getPermittedSpaces

java.util.List getPermittedSpaces(com.atlassian.user.User user)
Return all spaces for which the the user has VIEW permission.

Parameters:
user - the user to check permissions against, or null for the anonymous user
Returns:
a list of all spaces that user is permitted to VIEW

getPermittedSpacesByType

java.util.List getPermittedSpacesByType(com.atlassian.user.User user,
                                        SpaceType type)
Return all spaces of a given type for which the user has VIEW permission.

Parameters:
user - the user to check permissions against, or null for the anonymous user
type - the type of space to return
Returns:
a list of all spaces of that type the user is permitted to VIEW

getPermittedSpacesInSpaceGroup

java.util.List getPermittedSpacesInSpaceGroup(com.atlassian.user.User user,
                                              SpaceGroup spaceGroup)
Return all spaces within a given spaceGroup for which the user has VIEW permission

Parameters:
user - the user to check permissions against, or null for the anonymous user
spaceGroup - the spaceGroup from which we query the spaces
Returns:
a list of all spaces within the spaceGroup for which the user has VIEW permission

getSpacesEditableByUser

java.util.List getSpacesEditableByUser(com.atlassian.user.User user)
Return all spaces in which the the can create or edit pages.

Parameters:
user - the user to check permissions against, or null for the anonymous user
Returns:
a list of all spaces in which the user can create or edit pages

getEditableSpacesByType

java.util.List getEditableSpacesByType(com.atlassian.user.User user,
                                       SpaceType type)
Return all spaces of a given type in which the user can create or edit pages

Parameters:
user - the user to check permissions against, or null for the anonymous user
type - the type of space to return
Returns:
a list of all spaces of that type in which the user can create or edit pages

getSpacesContainingPagesEditedBy

java.util.List getSpacesContainingPagesEditedBy(java.lang.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

java.util.List getSpacesContainingCommentsBy(java.lang.String username)

getAuthoredSpacesByUser

java.util.List getAuthoredSpacesByUser(java.lang.String username)

getSpacesCreatedOrUpdatedSinceDate

java.util.List getSpacesCreatedOrUpdatedSinceDate(java.util.Date previousLoginDate)
Deprecated. since 2.3 this method is unreferenced, and probably doesn't do anything useful


convertToPersonalSpace

void convertToPersonalSpace(Space space,
                            com.atlassian.user.User owner,
                            boolean updateLinks)
Convert a global space into a user's personal space. This is only really useful for pre-2.2 Confluence installations that are upgrading to 2.2 or later, and want to convert existing "ad hoc" personal spaces into real personal spaces. The space's key will be updated to ~username, the owner will be set to the personal space owner, and optionally all incoming links will be refactored.

Parameters:
space - the space to convert
owner - the new owner of the personal space
updateLinks - true if you want to update incoming links to the space.

findPageTotal

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

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

getNumberOfMail

int getNumberOfMail(Space space)
Get the number of archived emails in a space. This counts all mail, including mail that is in the trash. As such, it probably doesn't do what you think it does.

Parameters:
space - the space to count mail in
Returns:
the number of emails archived in the space

moveHierarchy

void moveHierarchy(Page topPage,
                   Page newParentPage,
                   Space newSpace,
                   com.atlassian.user.User user,
                   boolean moveChildren,
                   java.util.List pagesToIndex)
Deprecated. since 2.9 use PageManager.movePage(Page, Space) or PageManager.movePage(Page, Page, int) instead

Moves a page and its hierarchy to a new parent page, space, or both.

This method also updates the parent-child relationships of each of the affected pages, and rebuilds the ancestor lists.

If moveChildren is true or newSpace is the same as the current space, all of topPage's children will be moved to the new location. Otherwise, the children will be moved to the root of the current space ("orphaned").

Pages the user cannot see (due to page permissions) are not moved, as a security precuation, and are instead moved to the root of the current space.

Parameters:
topPage - The page to move
newParentPage - The new parent page
newSpace - The new space (old space if the same)
user - The current user
moveChildren - True if topPage's children should be moved with it, false to leave them. Always treated as true if moving within the same space.
pagesToIndex - normally an empty array list that will be updated with all the pages that need indexing (this way we can delay indexing til after the move has been complete)
Throws:
java.lang.IllegalArgumentException - if newSpace is null
java.lang.IllegalArgumentException - if topPage is null
java.lang.IllegalArgumentException - if newParentPage is not in newSpace

getSpaceFromPageId

java.lang.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

getSpaceContent

java.util.List getSpaceContent(Space space,
                               boolean currentOnly)

getSpacesCreatedAfter

java.util.List getSpacesCreatedAfter(java.util.Date creationDate)

getPersonalSpaceKey

java.lang.String getPersonalSpaceKey(java.lang.String username)

getSpacesByType

java.util.List getSpacesByType(SpaceType type)

getSpacesInSpaceGroup

java.util.List getSpacesInSpaceGroup(SpaceGroup spaceGroup)

isValidSpaceKey

boolean isValidSpaceKey(java.lang.String key)
Deprecated. since 2.3 use Space.isValidGlobalSpaceKey(java.lang.String)


isValidPersonalSpaceKey

boolean isValidPersonalSpaceKey(java.lang.String key)
Deprecated. since 2.3 use Space.isValidPersonalSpaceKey(java.lang.String)


getPages

java.util.List getPages(Space space,
                        boolean currentOnly)
Deprecated. from 2.3 use PageManager.getPages(Space, boolean)


getPagesStartingWith

java.util.List getPagesStartingWith(Space space,
                                    java.lang.String s)
Deprecated. from 2.3 use PageManager.getPagesStartingWith(Space, String)


getBlogPosts

java.util.List getBlogPosts(Space space,
                            boolean currentOnly)
Deprecated. from 2.3 use PageManager.getBlogPosts(Space, boolean)


getMail

java.util.List getMail(Space space,
                       boolean currentOnly)
Deprecated. from 2.3 use MailContentManager.getMail(Space, boolean)


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

SpaceLogo getLogoForSpace(java.lang.String spaceKey)

getLogoForGlobalcontext

SpaceLogo getLogoForGlobalcontext()


Copyright © 2003-2009 Atlassian Pty Ltd. All Rights Reserved.